CVE-2026-26187
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-26187 describes two path traversal vulnerabilities in the lakeFS local block adapter that allow authenticated users to read and write files outside their designated storage boundaries. The vulnerability affects lakeFS versions up to and including 1.76.0, and was disclosed on February 12, 2026, with a patch released the same day in version 1.77.0. It carries a CVSS v3.1 base score of 8.1 (High), reflecting network-accessible exploitation requiring only low-privilege credentials (GitHub Advisory). Only deployments using the local block adapter are affected; S3, GCS, Azure, and other object storage backends are not impacted (GitHub Security Advisory).

Technical details

The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory), manifesting in two distinct flaws within pkg/block/local/adapter.go. First, the verifyRelPath function used strings.HasPrefix() without appending a path separator, allowing access to sibling directories whose names share a prefix with the storage directory (e.g., /data/lakefs_evil/ bypasses a check for /data/lakefs). Second, the extractParamsFromObj function validated that resolved paths stayed within the adapter's base path but did not verify that object identifiers remained within their designated storage namespace, enabling ../-style traversal in object identifiers (e.g., identifier ../../other-repo/data.txt with namespace local://repo1/userdata resolves outside the namespace). The vulnerability was discovered via CodeQL static analysis (GitHub Advisory, Patch Commit).

Impact

Successful exploitation allows authenticated attackers to read sensitive data from other repositories and namespaces within the same lakeFS deployment, write malicious files to other namespaces or adjacent directories outside lakeFS storage, and potentially escalate privileges if writable directories are used by other services on the host. Both confidentiality and integrity are rated High, as an attacker can exfiltrate data from sibling repositories and inject arbitrary content into other namespaces. Availability is not directly impacted (GitHub Advisory).

Exploitability

No public proof-of-concept exploit code has been published, and there is no evidence of in-the-wild exploitation at this time (GitHub Advisory). The EPSS score is approximately 0.047% (21st percentile), indicating a low near-term probability of exploitation. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. Exploitation requires valid lakeFS credentials (low privilege), network access, and a deployment using the local block adapter.

Exploitation steps

  1. Reconnaissance: Identify a lakeFS deployment configured with the local block adapter (not S3/GCS/Azure). Obtain valid lakeFS credentials with at least low-privilege access to one repository/namespace.
  2. Exploit Vulnerability 1 (Prefix Bypass): Craft a storage namespace path that shares a prefix with the configured base path but targets a sibling directory (e.g., if base is /data/lakefs, target local://../lakefs_backup/ to access /data/lakefs_backup/). Submit object read/write requests using this namespace.
  3. Exploit Vulnerability 2 (Namespace Escape via Identifier): Using a legitimate namespace (e.g., local://repo1/userdata), craft an object identifier containing ../ sequences to escape the namespace (e.g., identifier ../../other-repo/secret.txt resolves to /data/lakefs/other-repo/secret.txt, outside the user's namespace).
  4. Read Sensitive Data: Issue a GET object request with the traversal identifier to read files from other namespaces or sibling directories, including data from other repositories or host filesystem paths accessible to the lakeFS process.
  5. Write Malicious Files: Issue a PUT object request with a traversal identifier to write attacker-controlled content into other namespaces or adjacent directories, potentially overwriting configuration files or injecting malicious payloads used by other services (GitHub Advisory, Patch Commit).

Indicators of compromise

  • Logs: lakeFS API access logs showing object GET/PUT requests with identifiers containing ../ sequences or URL-encoded equivalents (%2e%2e%2f); requests referencing namespaces with path prefixes matching but not equal to the configured storage base path.
  • File System: Unexpected files appearing in sibling directories adjacent to the lakeFS storage base path (e.g., directories named similarly to the storage path but with different suffixes); new or modified files in namespaces not associated with the requesting user's repository.
  • Network: Authenticated API calls to lakeFS object endpoints (e.g., /api/v1/repositories/{repo}/refs/{ref}/objects) with anomalous object key parameters containing traversal sequences from low-privilege accounts accessing multiple repositories.

Mitigation and workarounds

Upgrade lakeFS to version 1.77.0 or later, which fixes both vulnerabilities by appending a path separator to prefix checks and adding two-level path validation (namespace within adapter base path, and resolved path within namespace) (lakeFS v1.77.0 Release). For deployments unable to patch immediately, switch to S3, GCS, Azure, or another object storage backend, as the vulnerability exclusively affects the local block adapter. Additional workarounds include configuring the storage path with a unique name unlikely to be a prefix of other directories, restricting filesystem permissions for the lakeFS process, and ensuring no sensitive data exists in sibling directories (GitHub Security Advisory).

Community reactions

The vulnerability was discovered via CodeQL static analysis and reported by researcher nopcoder, with the advisory published by N-o-Z on February 12, 2026 (GitHub Advisory). Community coverage appeared on security aggregation sites and blogs shortly after disclosure, including a write-up titled "Escaping the Lake with a Path Traversal Two-Step" on dev.to. No major vendor statements beyond the official GitHub advisory have been identified.

Additional resources


SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-75874CRITICAL10
  • NixOS logoNixOS
  • cpe:2.3:a:mozilla:firefox
NoYesAug 18, 2026
CVE-2026-74990CRITICAL9.8
  • NixOS logoNixOS
  • thunderbird
NoYesAug 18, 2026
CVE-2026-74989CRITICAL9.8
  • NixOS logoNixOS
  • thunderbird
NoYesAug 18, 2026
CVE-2026-74988CRITICAL9.8
  • NixOS logoNixOS
  • thunderbird
NoYesAug 18, 2026
CVE-2026-74987CRITICAL9.8
  • NixOS logoNixOS
  • MozillaFirefox
NoYesAug 18, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management