GitLab CVSS 10 Exploit Alert: In-the-Wild Probes Target Commits API Path Traversal Flaw

🛡️ Verified Threat IntelDigitalSpying Research Desk
📅 September 13, 2026⏱️ 5 min read

Author: DigitalSpying Security Desk

Date: September 13, 2026

Executive Summary

Enterprise DevOps pipelines and source code repositories are under immediate threat following the disclosure of a maximum-severity security flaw in GitLab Community Edition (CE) and Enterprise Edition (EE). Tracked as CVE-2026-85706 with a maximum CVSS score of 10.0, the vulnerability stems from improper path confinement and missing authentication enforcement within GitLab's repository commits API. As reported by The Hacker News and confirmed by threat research firm watchTowr, opportunistic threat actors began launching active in-the-wild probes within hours of GitLab releasing its emergency patch batch. The exploit primitive allows unauthenticated remote attackers to read arbitrary server-side files—including system configuration files, database credentials, CI/CD runner tokens, and private source code—provided the targeted instance hosts at least one publicly accessible project. Recognizing the imminent transition toward automated mass exploitation, the U.S. Cybersecurity and Infrastructure Security Agency (CISA) has added CVE-2026-85706 to its Known Exploited Vulnerabilities (KEV) catalog with an urgent remediation deadline.

Deep-Dive Technical Analysis

1. Root Cause & Exploitation Mechanics (CVE-2026-85706)

* Vulnerability Type: Path Traversal (CWE-22) / Missing Authentication for Critical Function (CWE-306).

* CVSS v3.1 Score: 10.0 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N).

* The API Failure: The vulnerability resides in GitLab's REST API endpoint responsible for querying commit metadata and diffs: /api/v4/projects/{id}/repository/commits/.

* Missing Authentication Enforcement: While repository access controls are typically strictly enforced for private assets, this specific commits API handler fails to verify user session tokens or API keys when querying repository commit paths on instances where a public project exists or when handling cross-project commit references.

* Improper Path Confinement: When the API processes user-supplied file path parameters (file.Path), it fails to sanitize dot-dot-slash (../) directory traversal sequences against the internal repository root. Because path confinement is not enforced before passing the file pointer to the underlying storage handler, an external attacker can break out of the Git repository sandbox and traverse the local server filesystem.

2. Information Disclosure Attack Chains

By sending crafted HTTP requests containing relative path traversals, an unauthenticated attacker can retrieve critical files from the operating system:

* gitlab.rb & Database Credentials: Reading /etc/gitlab/gitlab.rb or /opt/gitlab/embedded/service/gitlab-rails/config/database.yml exposes plaintext PostgreSQL database passwords, database hostnames, and Redis connection strings.

* db_key_base & Secret Tokens: Exfiltration of GitLab's secret token file (/opt/gitlab/embedded/service/gitlab-rails/config/secrets.yml) reveals the secret_key_base and db_key_base. Armed with db_key_base, attackers can decrypt all encrypted values in the database, including stored CI/CD variables, runner registration tokens, webhook secrets, and private repository deploy keys.

* CI/CD Pipeline Poisoning & Supply Chain Takeover: Access to CI/CD runner tokens allows adversaries to register rogue runners, hijack automated build pipelines, inject backdoors into build artifacts, and exfiltrate cloud infrastructure credentials (such as AWS/GCP IAM keys) used in continuous deployment stages.

3. Accompanying Critical Deserialization Flaw (CVE-2026-87719)

GitLab's emergency release also remediated a critical flaw in GitLab Enterprise Edition (EE):

* CVE-2026-87719 (CVSS 9.9): Insecure deserialization within the GitLab Duo Chat AI subsystem.

* Mechanism: An authenticated user with Duo Chat access can supply a malformed GraphQL subscription argument that bypasses internal object serialization boundaries, enabling unauthorized server-side object lookup and retrieval of Advanced Search configurations and credentials.

4. Affected Versions Matrix

GitLab Edition

Vulnerable Release Branches

Remediated Release

GitLab CE & EE (18.x / 19.1)

All versions from 18.7 prior to 19.1.8

19.1.8

GitLab CE & EE (19.2)

All versions from 19.2 prior to 19.2.6

19.2.6

GitLab CE & EE (19.3)

All versions from 19.3 prior to 19.3.2

19.3.2

In-The-Wild Probing & Forensic Detection

Exposure management telemetry from watchTowr detected automated exploit reconnaissance beginning at 06:00 UTC on September 11, 2026:

* Scanning Patterns: Attackers are dispatching high-frequency HTTP POST and GET requests targeted at /api/v4/projects/{id}/repository/commits/ probing for traversal sequences in parameters such as file.Path or path.

* Prerequisite Footprint: Intrusions succeed against any instance that has at least one repository configured as "Public" or allows public user registration.

Actionable Recommendations & Immediate Mitigations

1. Urgent Version Patching

Administrators of self-managed GitLab installations must immediately update their servers to 19.3.2, 19.2.6, or 19.1.8. SaaS instances on GitLab.com have already been patched by the vendor.

2. Log Auditing & Threat Hunting

Inspect reverse proxy (Nginx/HAProxy) and GitLab production logs (/var/log/gitlab/gitlab-rails/api_json.log and production_json.log) for exploitation signatures:

* Search for API calls matching POST /api/v4/projects/*/repository/commits* containing URL-encoded directory traversal patterns (..%2F, %2e%2e%2f, or raw ../).

* Audit requests targeting sensitive file paths, specifically secrets.yml, gitlab.rb, database.yml, or /etc/passwd.

3. Tactical Containment Controls

If immediate patching cannot be accomplished:

* WAF Rule Deployment: Enforce Web Application Firewall (WAF) blocking rules on the GitLab API surface to reject HTTP requests where URI parameters contain traversal sequences (../).

* Restrict Perimeter Exposure: Remove public internet access to self-managed GitLab servers, restricting ingress strictly to trusted corporate VPNs or internal management networks.

* Review Project Visibility: Temporarily change the visibility of all public projects to Internal or Private to mitigate the unauthenticated entry vector until updates are applied.

Sources and Reference Intelligence: The Hacker News, watchTowr Threat Intelligence, GitLab Security Release, CISA Known Exploited Vulnerabilities Catalog.

Classification:Cyber Security IntelligenceZero-Day AnalysisDefensive Engineering
🛡️

About the DigitalSpying Research Desk

The DigitalSpying Threat Intelligence Desk is composed of seasoned security researchers, reverse engineers, and blue team architects. Our mission is to publish reproducible, peer-audited threat analyses, hardware security evaluations, and defensive countermeasures.