CVE-2026-26187 Overview
CVE-2026-26187 is a path traversal vulnerability affecting lakeFS, an open-source tool that transforms object storage into Git-like repositories. The vulnerability exists in the local block adapter (pkg/block/local/adapter.go) and allows authenticated users to read and write files outside their designated storage boundaries. This flaw enables attackers to bypass storage namespace isolation and potentially access sensitive data belonging to other users or namespaces.
Critical Impact
Authenticated attackers can exploit insufficient path validation to escape storage boundaries, enabling unauthorized read and write access to files across different namespaces and sibling directories.
Affected Products
- lakeFS versions prior to 1.77.0
- lakeFS local block adapter (pkg/block/local/adapter.go)
- Any lakeFS deployment using the local storage backend
Discovery Timeline
- February 13, 2026 - CVE-2026-26187 published to NVD
- February 18, 2026 - Last updated in NVD database
Technical Details for CVE-2026-26187
Vulnerability Analysis
This path traversal vulnerability (CWE-22) stems from inadequate path validation in lakeFS's local block adapter. The vulnerability allows authenticated users to bypass storage isolation controls, potentially compromising data confidentiality and integrity across the entire lakeFS deployment. The flaw can be exploited over the network without user interaction, requiring only low-privilege authenticated access to the system.
The vulnerability presents two distinct attack surfaces. First, the sibling directory bypass occurs because the path verification relies on simple string prefix matching rather than proper path boundary validation. Second, the namespace escape allows attackers to use path traversal sequences within object identifiers to access files belonging to other storage namespaces.
Root Cause
The root cause of this vulnerability lies in the verifyRelPath function's use of strings.HasPrefix() for path validation. This approach is fundamentally flawed for security-critical path checking because it only verifies that the requested path starts with the expected prefix, without confirming that a proper path separator follows. For example, if the allowed directory is /data/storage, an attacker could access /data/storage-backup since it shares the same prefix.
Additionally, while the adapter verified that resolved paths remained within the adapter's base path, it failed to validate that object identifiers stayed within their designated storage namespace. This second oversight enabled attackers to craft object identifiers containing path traversal sequences (such as ../) to escape their namespace and access files in other storage areas.
Attack Vector
The attack vector is network-based, requiring authenticated access to a lakeFS instance using the local block adapter. An attacker with valid credentials can exploit this vulnerability in two ways:
Sibling Directory Access: By crafting requests targeting directories with names that share the same prefix as legitimate storage directories, attackers can access files outside their designated storage area. For instance, requesting a path to /allowed-path-attacker would pass validation if the allowed path is /allowed-path.
Namespace Escape via Path Traversal: Attackers can embed path traversal sequences within object identifiers. The adapter validates the final resolved path against the base path but fails to check if the object identifier itself escapes the namespace boundary. This allows accessing files in other namespaces by traversing up and across the directory structure.
For detailed technical information on the exploitation mechanism, refer to the GitHub Security Advisory GHSA-699m-4v95-rmpm.
Detection Methods for CVE-2026-26187
Indicators of Compromise
- Unexpected file access patterns in storage directories, particularly reads or writes to paths outside normal namespace boundaries
- Log entries showing object identifiers containing path traversal sequences (../, ..%2f, or similar encoded variants)
- Access attempts to sibling directories that share prefixes with legitimate storage paths
- Anomalous authenticated user activity accessing multiple namespaces or storage areas
Detection Strategies
- Implement file integrity monitoring on local storage directories to detect unauthorized modifications
- Monitor application logs for requests containing path traversal patterns in object identifiers
- Deploy network-level inspection to identify API calls with suspicious path components
- Audit user access patterns for cross-namespace activity that deviates from normal behavior
Monitoring Recommendations
- Enable verbose logging for the lakeFS local block adapter to capture all file access operations
- Configure alerting for any access to paths outside designated namespace boundaries
- Implement real-time monitoring of storage directory access using filesystem audit tools
- Review authentication logs for accounts exhibiting unusual storage access patterns
How to Mitigate CVE-2026-26187
Immediate Actions Required
- Upgrade lakeFS to version v1.77.0 or later immediately
- Audit storage directories for evidence of unauthorized access or modifications
- Review recent access logs for signs of exploitation attempts
- Restrict network access to lakeFS instances while patching is in progress
Patch Information
The vulnerability is fixed in lakeFS version v1.77.0. The patch implements proper path validation that requires a path separator after the prefix check and adds namespace boundary validation for object identifiers. The fix is available in the GitHub Release v1.77.0. The specific commit addressing this vulnerability can be reviewed at the GitHub Commit.
Workarounds
- Consider switching to a non-local block adapter (such as S3 or Azure Blob Storage) if immediate patching is not possible
- Implement additional network segmentation to restrict authenticated user access to lakeFS
- Apply filesystem-level access controls to enforce storage namespace boundaries at the OS level
- Deploy a web application firewall with rules to block requests containing path traversal sequences
# Verify current lakeFS version and upgrade
lakefs --version
# If version is below 1.77.0, upgrade immediately
# Download and install v1.77.0 from the official GitHub releases
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


