Article
The Credential You Published on Purpose: How an Exposed GitLab Email Token Becomes Push Access to Main
A GitLab incoming email token in a public README stays valid until reset and lets anyone act as you by email. See how exposed…
Quick links
Press Enter to search, Esc to close
Exploited vulnerability
A critical flaw in GitLab Community and Enterprise Edition that lets an unauthenticated user read arbitrary files from the server through the repository commits API.
In short
CVE-2026-85706 is a critical flaw in GitLab Community and Enterprise Edition that lets an unauthenticated user read arbitrary files from the server through the repository commits API. GitLab rates it CVSS 3.1 10.0, fixed it in 19.3.2, 19.2.6, 19.1.8, 19.0.9 and 18.11.12, and CISA lists it in KEV.
GitLab says that under certain conditions an unauthenticated user could read arbitrary files from the GitLab server. It names "improper path confinement and missing authentication enforcement in the repository commits API" as the cause. GitLab, the CVE numbering authority, rates it CVSS 3.1 10.0 Critical.
The vector is network, low complexity, no privileges, no user interaction and a changed scope. Impact is high for confidentiality and integrity, and none for availability. The CVE record and NVD show no CVSS 4.0 score.
CISA lists the weakness as CWE-35 in its KEV entry, while the CVE record gives CWE-22. Both describe a path that escapes the folder it should stay in. GitLab credits the researcher s3ntago, who reported it through the GitLab HackerOne bug bounty program.
GitLab's fix commit shows where the gap was. It adds an authentication check to the commits endpoint and to the endpoints that create and update repository files. It also stops trusting the file path that a client sends along with an upload.
GitLab's fix commit adds a code comment saying authentication must happen before Workhorse buffers the request body to disk. The new code also rejects unsigned upload metadata instead of reading a file path from the request.
The CVE record says only "arbitrary files" on the GitLab server. GitLab's release page names three threat detections for local file inclusion attempts, and one of them is titled "GitLab LFI attempt reading gitlab.yml". gitlab.yml is a GitLab configuration file.
A GitLab server keeps configuration and secrets on the same disk as its code. In our reading, a file read can therefore expose more than repository data. The record does not list the conditions it refers to, so we do not treat any instance as safe from it.
These are the public signals we checked on 4 November 2026. Each row names its source.
The repositories are public code of unknown quality, so we do not link them. GitLab's release page notes the KEV listing and says GitLab.com and GitLab Dedicated are already patched.
GitLab fixed another CVSS 10.0 flaw in October, the regular expression compiler flaw CVE-2026-110264. Our CISA KEV glossary entry explains what the catalog listing means.
The CVE record lists GitLab Community Edition and Enterprise Edition on five branches, each fixed by a patch release. GitLab.com and GitLab Dedicated are already patched, so the risk is to self-managed installs.
The record does not list versions before 18.7. GitLab's release page lists no workaround and tells admins to upgrade.
If you already patched CVE-2026-110264, you are probably covered. Every fixed build for that flaw is newer, by version number, than the fix for this one. Confirm the exact version on each server, and read our vulnerability management guide for a patch routine.
GitLab reserves CVE-2026-85706.
GitLab releases 19.3.2, 19.2.6 and 19.1.8. The fix commit on the 19.3 branch is dated 9 September.
CISA adds the CVE to its Known Exploited Vulnerabilities catalog with a due date of 14 September.
The CVE record and the NVD entry go public. CISA's SSVC entry records exploitation as active.
GitLab releases the backports 19.0.9 and 18.11.12.
Move to 18.11.12, 19.0.9, 19.1.8, 19.2.6 or 19.3.2, or any later build on your branch. GitLab's release page says to upgrade and lists no workaround.
Find every self-managed GitLab server that outside networks can reach. CISA's KEV entry asks agencies to weigh each asset's internet exposure, and the same order of work suits private teams.
GitLab's release page names three threat detections for local file inclusion attempts, including "GitLab LFI attempt reading gitlab.yml". Review requests to the commits API and to the repository files API from before you patched, especially any that carried no authentication.
We recommend rotating tokens, keys and passwords stored in GitLab configuration files on any server that was exposed and unpatched after 10 September. The record does not say which files were read.
Track each new GitLab patch release for your branch, since CVE-2026-110264 also needed a fix in October. Fixed builds for that flaw are newer than the ones here.
CISA added it to the Known Exploited Vulnerabilities catalog on 11 September 2026. The CISA SSVC entry in NVD records exploitation as active. GitLab's release page notes the KEV listing.
No. GitLab says an unauthenticated user could read arbitrary files, under certain conditions that the record does not list. CVSS privileges required is none.
GitLab fixed it in 19.3.2, 19.2.6, 19.1.8, 19.0.9 and 18.11.12. Anything older on those branches is affected, back to 18.7.
By version number, yes. Each fixed build for CVE-2026-110264 is newer than the fix here. That is our reading, so confirm the version on every server.
Take control of your digital security with an exclusive demo of our AI-driven threat intelligence platform.