GitLab unauthenticated file-read flaw exploited
A critical unauthenticated path traversal in GitLab's commits API lets attackers read arbitrary files, is in CISA's KEV list, and has public exploit code.
NCSC-NL published a high-priority advisory for CVE-2026-85706, a path traversal and missing authentication vulnerability in the repository commits API of GitLab Community and Enterprise Editions. The flaw stems from improper path confinement combined with an API endpoint that lacks authentication checks, allowing unauthenticated attackers to read arbitrary files on the underlying system. The vulnerability carries a maximum CVSS v3 score of 10.0.
CISA has added CVE-2026-85706 to its Known Exploited Vulnerabilities catalogue, and public exploit code is available, indicating active or imminent exploitation. Internet-facing, self-managed GitLab instances are at greatest risk since no credentials are required to trigger the flaw and sensitive files (which could include configuration files or credentials) can be exfiltrated.
GitLab has released fixed versions 19.1.8, 19.2.6, and 19.3.2. Defenders should patch immediately, review API access logs for suspicious requests containing parameters such as file.path, and rotate any credentials that may have been exposed if signs of exploitation are found.
Mentioned in this report
Detection guidance
GitLab Unauthenticated Repository API Path Traversal
Detects unauthenticated HTTP requests to GitLab repository commits API endpoint with path traversal sequences in file.path parameter. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.
title: GitLab Unauthenticated Repository API Path Traversal
description: Detects exploitation of CVE-2026-85706 - unauthenticated requests to
GitLab repository API with path traversal patterns (../) in file.path parameter,
indicative of arbitrary file read attempts.
tags:
- attack.t1190
logsource:
category: proxy
product: network
detection:
selection:
http_method: GET
uri|contains: ../
filter_authenticated:
http_user_agent|contains:
- gitlab-runner
http_authorization|exists: true
condition: selection and not filter_authenticated
falsepositives:
- Legitimate path traversal in file picker or archive extraction tools
- API testing frameworks validating path handling
level: high
id: 3e3410d1-4b83-5b0d-9fe1-75555c8e844f
status: experimental
author: Vorant
GitLab API Access Without Authentication Header
Detects unauthenticated access attempts to GitLab commits or repository API endpoints lacking standard authentication tokens or session cookies. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.
title: GitLab API Access Without Authentication Header
description: Detects unauthenticated HTTP requests to GitLab repository or commits
API endpoints - CVE-2026-85706 exploitation typically lacks Authorization headers
or valid session cookies.
tags:
- attack.t1190
logsource:
category: proxy
product: network
detection:
selection:
http_method: GET
uri|contains:
- /api/v4/projects/
- /repository/commits
filter_has_auth:
http_authorization|exists: true
filter_has_cookie:
http_cookie|contains: _gitlab_session
filter_internal_ci:
source_ip|cidr:
- 127.0.0.0/8
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
condition: selection and not (filter_has_auth or filter_has_cookie or filter_internal_ci)
falsepositives:
- Public API endpoints intentionally left unauthenticated
- API documentation or schema endpoints
level: medium
id: eaba5be8-d346-5eca-9e1e-88d0904ebf17
status: experimental
author: Vorant
GitLab Sensitive File Exfiltration via Path Traversal
Detects HTTP requests targeting GitLab API with file.path parameters pointing to common sensitive system or application configuration files (etc/passwd, .env, config files). Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.
title: GitLab Sensitive File Exfiltration via Path Traversal
description: Detects exploitation attempts reading common sensitive files via GitLab
API path traversal - targets /etc/passwd, environment files, SSH keys, or database
credentials in config paths.
tags:
- attack.t1005
- attack.t1190
logsource:
category: proxy
product: network
detection:
selection:
uri|contains: file.path
sensitive_paths:
uri|contains:
- /etc/passwd
- /etc/shadow
- /.env
- /config/database.yml
- /.ssh/id_rsa
- /root/.bash_history
- /var/www/html/config/
- /home/git/.ssh/
condition: selection and sensitive_paths
falsepositives:
- Legitimate file exploration or backup tools with path traversal checks
level: high
id: a51fa7cd-d5be-5d24-90c4-38331a640a17
status: experimental
author: Vorant
Behavioural rules are generated from public reporting — validate in your environment before deploying.
Source reporting: https://advisories.ncsc.nl/2026/ncsc-2026-0367.html
This is the public brief
Subscribers see the full picture: extracted IOCs, ready-to-deploy detections (Sigma, Splunk, KQL, Elastic, YARA, Suricata), the entity graph, TAXII 2.1 feed and real-time alerts matched to your sectors.
Start free