Critical GitLab Path Traversal Vulnerability Allows Unauthenticated Arbitrary File Read
Critical GitLab Path Traversal Vulnerability Allows Unauthenticated Arbitrary File Read
Summary
On September 10, 2026, GitLab released patches for a maximum-severity path traversal vulnerability, tracked as CVE-2026-85706, affecting self-managed installations of GitLab Community Edition (CE) and Enterprise Edition (EE). The flaw allows an unauthenticated attacker to read arbitrary files from a vulnerable server in a single HTTP request under certain conditions. Although GitLab has not flagged the flaw as exploited in the wild, watchTowr's honeypot network observed probing activity roughly one day after the patch release, indicating attackers have reverse-engineered and reproduced the exploit and are searching for internet-exposed, unpatched GitLab servers. Organizations running self-managed GitLab should treat this as an emergency patch scenario.
Affected Systems and/or Applications
Only self-managed installations of GitLab Community Edition (CE) and Enterprise Edition (EE) are impacted. Of these, internet-facing instances are at highest risk, since exploitation requires no credentials or user interaction. GitLab.com is already running the patched version; GitLab Dedicated customers do not need to take action.
Technical Details
The vulnerability is an improper path confinement (path traversal) defect in the repository commits API, compounded by missing authentication enforcement on the affected API endpoint. Because the API fails to both confine user-supplied file paths and consistently enforce authentication, an unauthenticated user can, under certain conditions, cause the application to return the contents of arbitrary files it should never expose.
In practical terms, an unauthenticated attacker sends a single crafted HTTP request and receives file contents back from the server, potentially including configuration files, secrets, and/or other sensitive server-side data. Specifically, a crafted HTTP POST request to /api/v4/projects/{id}/repository/commits/ with the traversal payload contained in the file.path parameter triggers the bug. Successful exploitation results in a remote unauthenticated arbitrary file read. Exfiltrated material can be used directly or chained into deeper compromise of the host and connected systems (e.g., CI/CD infrastructure, source code). The precise "certain conditions" that gate unauthenticated exploitation, any working public proof-of-concept beyond the probing activity observed, and cases of successful exploitation remain unconfirmed at time of writing.
watchTowr reports that its global honeypot network ("Attacker Eye") is already observing behavioral probes consistent with a working exploit for CVE-2026-85706, roughly one day after the patch release; GitLab has not yet flagged confirmed successful exploitation in the wild. Given the low exploitation bar (single unauthenticated HTTP request), rapid weaponization is plausible.
The 19.3.2/19.2.6/19.1.8 release also remediates numerous other issues, including another Critical item: an insecure deserialization issue in the GraphQL subscription serializer (EE), and several High-severity issues such as a buffer overflow in the Unicode conversion wrapper (EE), XSS in the Markdown JSON table renderer (CE/EE), an incorrect authorization issue in the CI/CD environment variable scope matcher (CE/EE), and DoS issues in the GraphQL complexity limiter (CE/EE).
Mitigation
- Patch immediately. Upgrade all self-managed GitLab CE/EE installations to 19.3.2, 19.2.6, or 19.1.8 (per your current major branch). GitLab strongly recommends all self-managed installations upgrade immediately.
- If you cannot patch immediately:
- Remove public/internet-facing access to the GitLab instance (restrict to VPN or trusted IP allowlists).
- Apply targeted network-level mitigations (e.g., WAF/reverse-proxy rules blocking unauthenticated requests to the repository commits API) to reduce immediate risk while an upgrade is scheduled.
- Review GitLab/nginx access logs for:
- HTTP
POSTrequests to/api/v4/projects/{id}/repository/commits/URIs containingfile.pathparameters - Unusual or unauthenticated requests to the repository commits API generally
- HTTP
- If an affected instance was internet-exposed and unpatched, treat contained secrets (configuration files, credentials, keys) as potentially compromised and rotate them after upgrading.
What the Cyber Fusion Center is Doing
The CFC is actively monitoring threat intelligence and reports related to CVE-2026-85706. This advisory will be updated if required.

.avif)


.webp)


.webp)
