GitLab unauth file read, exploited (CVE-2026-85706) [PoC]
CVE-2026-85706
CVE-2026-85706: GitLab CE/EE 18.7+ unauthenticated arbitrary file read (CVSS 10.0), actively exploited. Update to 19.1.8, 19.2.6, or 19.3.2 now.
Actively exploited in the wild - CVE-2026-85706 is a critical unauthenticated arbitrary file read in GitLab CE/EE versions 18.7 through 19.1.7, 19.2.0 through 19.2.5, and 19.3.0 through 19.3.1, allowing any network attacker to read files from the GitLab server without credentials. Patched versions are 19.1.8, 19.2.6, and 19.3.2 - upgrade immediately.
Overview
CVE-2026-85706 is rated CRITICAL with a CVSS score of 10.0 (AV:N/AC:L/PR:N/UI:N), the maximum severity. The flaw combines improper path confinement with missing authentication enforcement in the repository commits API. In practice, an attacker sends crafted requests to that API endpoint and receives file contents from the underlying server filesystem. No account, token, or user interaction is required.
GitLab self-managed instances are the primary concern. GitLab.com (SaaS) runs patched code, but every on-premises deployment in the affected ranges is exposed the moment it is reachable from the internet or from any untrusted network segment.
Impact
Arbitrary file read on a GitLab server is a serious escalation primitive, not just an information leak. Attackers can target configuration files that hold database credentials, SMTP and object storage secrets, CI/CD runner tokens, and private signing keys such as gitlab-secrets.json. Those secrets frequently unlock lateral movement into integrated systems: PostgreSQL, Redis, S3 buckets, and any environment the CI runners can reach.
Because the affected endpoint requires no authentication, internet-exposed GitLab instances can be scanned and exploited at scale. Security teams should treat any unpatched instance as potentially compromised, not merely vulnerable.
Remediation
- Upgrade to GitLab 19.1.8, 19.2.6, or 19.3.2. These are the fixed releases for each maintained branch.
- If immediate upgrade is impossible, restrict network access to the GitLab web interface and API using a firewall, VPN, or reverse proxy allowlist. This is a temporary control only.
- Rotate exposed secrets after patching: database passwords, runner registration tokens,
gitlab-secrets.jsoncontents, and any credentials readable from the filesystem. - Review GitLab access logs for requests to the repository commits API from unauthenticated or unexpected sources, and forward relevant findings to incident response.
Security Insight
CVE-2026-85706 fits a pattern that has defined GitLab’s recent security record: API endpoints that quietly skip an authorization check rather than a memory-safety bug in a parser. The CVSS 10.0 rating is earned by the combination of no authentication and no complexity, meaning scanning tooling can find and exploit victims faster than defenders can inventory their fleet. The fact that this reached active exploitation before disclosure shows that attackers are watching GitLab’s release notes closely. Organizations running self-managed GitLab should assume their upgrade cadence is now a known attack surface. For follow-on reporting, see breach reports and security news.
Further Reading
Never miss a critical vulnerability
Get real-time security alerts delivered to your preferred platform.
Public PoC References
Unverified third-party code
These repositories are publicly listed on GitHub and have not been audited by Yazoul Security. They may contain malware, backdoors, destructive payloads, or operational security risks (telemetry, exfiltration). Treat them as hostile binaries. Inspect source before execution. Run only in isolated, disposable lab environments (offline VM, no credentials, no production data).
Authorized use only. This information is provided for defensive research, detection engineering, and patch validation. Using exploit code against systems you do not own or do not have explicit written permission to test is illegal in most jurisdictions and violates Yazoul's terms of use.
| Repository | Stars |
|---|---|
| guneykabel/cve-2026-85706 Exploit poc for CVE-2026-85706 an unauthenticated arbitrary file read on Gitlab CE-EE affecting versions: 18.7–19.1.7; 19.2.0–19.2.5; 19.3.0–19.3.1 | ★ 8 |
| ynsmroztas/GitLabSniper CVE-2026-85706 Unauthenticated File Read | ★ 4 |
| mhtsec/CVE-2026-85706 GitLab CE/EE unauthenticated path traversal (CVE-2026-85706) - PoC | ★ 2 |
| FlowerWitch/CVE-2026-85706_docker_exp CVE-2026-85706_docker_exp | ★ 1 |
| solivaquaant/CVE-2026-85706-PoC PoC for CVE-2026-85706: GitLab CE/EE unauthenticated arbitrary local file read | ★ 0 |
Showing 5 of 5 known references. Source: nomi-sec/PoC-in-GitHub.
Related Advisories
Wazuh is a free and open source platform used for threat prevention, detection, and response. From version 4.4.0 to before version 4.14.4, a path traversal vulnerability in Wazuh's cluster synchroniza...
A malicious actor with access to the UniFi Play network could exploit a Path Traversal vulnerability found in the device firmware to write files on the system that could be used for a remote code exec...
ChurchCRM is an open-source church management system. Prior to 6.5.3, a path traversal vulnerability in ChurchCRM's backup restore functionality allows authenticated administrators to upload arbitrary...
Pegasus CMS 1.0 contains a remote code execution vulnerability in the extra_fields.php plugin that allows unauthenticated attackers to execute arbitrary commands by exploiting unsafe eval functionalit...