
CVE-2026-85706: GitLab CE/EE Repository Commits API Path Traversal
CVE-2026-85706 is a CVSS 10.0 critical path traversal vulnerability in GitLab CE/EE's repository commits API, caused by improper path confinement combined with missing authentication enforcement. It allows unauthenticated, remote attackers to read arbitrary files from the GitLab server — potentially exposing credentials, secrets, tokens, SSH keys, and database credentials. Affects versions 18.7 through 19.1.7, 19.2.0-19.2.5, and 19.3.0-19.3.1; fixed in 19.1.8, 19.2.6, and 19.3.2.
What it is
CVE-2026-85706 is a critical (CVSS 3.1 10.0) unauthenticated path traversal in the GitLab CE/EE repository commits API. Under certain conditions it lets a remote attacker read arbitrary files readable by the GitLab server process. GitLab published fixes on September 10, 2026; public reporting and a Horizon3 NodeZero Rapid Response test followed on September 11.
How it works
GitLab attributes the flaw to a combination of improper path confinement and missing authentication enforcement in the commits API. No authentication or user interaction is required, and it is remotely exploitable with low complexity. The full CVSS vector is AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N — note the scope change (S:C) and that impact is confidentiality/integrity only (A:N, no availability). The page gives no proof-of-concept or request details.
Preconditions / Affected
Self-managed GitLab CE and EE:
- 18.7 through 19.1.7
- 19.2.0 through 19.2.5
- 19.3.0 through 19.3.1
GitLab.com is already patched, and GitLab Dedicated customers need take no action — this is a self-managed problem. Exposure of specific files depends on deployment and OS file permissions on the GitLab process.
What to do
Upgrade to a fixed release: 19.1.8, 19.2.6, or 19.3.2.
Beyond patching, the page states two actions the summary does not:
- Rotate secrets. Because exploitation can read server-side files, any credentials, tokens, SSH keys, or database credentials accessible to the GitLab process on a vulnerable internet-facing instance should be evaluated for rotation — patching alone does not undo prior exposure.
- If you cannot patch immediately, restrict network access to the instance as a temporary risk-reduction measure only.
Caveats
There is no vendor workaround that substitutes for patching; network restriction is explicitly a stopgap, not a fix. GitLab qualifies exploitation as possible "under certain conditions," and Horizon3 does not enumerate those conditions or publish exploit specifics on this page.
CVEs named here
Techniques named here
Related in AppSec
Flowise MCP Security Bypass Enables RCE
Inside an Oracle Database SQL Injection Attack | Huntress
OASIS
