Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege GitLab user
-
DeliveryAccess project with package registry enabled
-
ExploitCraft path traversal payload in package request
-
ExecutionSubmit malicious request to registry API endpoint
-
PersistEscape intended storage directory to write arbitrary file
-
ImpactTrigger execution of written payload for RCE on host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated GitLab account with at least low-privilege access to the target instance (PR:L per CVSS vector) - anonymous or unauthenticated access is insufficient. The package registry feature must be accessible to the attacker, meaning either globally enabled or enabled for a specific project to which the attacker has access. The description explicitly notes 'under certain conditions' without disclosing the exact triggering server-side state - the precise configuration or application state required is not available in public sources, which maps to AC:H in the CVSS vector and indicates exploitation is not trivially replicable across all targets. GitLab instances where the package registry is fully disabled, or where the attacker's account lacks project-level registry permissions, would not be exploitable. The scope change (S:C) indicates that when conditions are met, the exploit breaks out of the GitLab application sandbox to affect the underlying host OS, meaning the GitLab process's OS-level permissions bound the attacker's ultimate reach. |
| Impact | The CVSS 8.5 base score reflects a serious network-accessible RCE with full C/I/A impact and scope change, tempered by High complexity (AC:H) and Low-privilege authentication requirement (PR:L). The AC:H rating directly corresponds to the 'under certain conditions' qualifier in the description - the precise triggering conditions are not publicly disclosed, which limits trivial mass-exploitation potential but does not prevent targeted attacks. Critically, a publicly available exploit exists on HackerOne (report 3754194), confirming that at least one researcher has successfully reproduced the attack chain; this significantly elevates urgency beyond what AC:H alone would suggest. EPSS data was not provided in the source intelligence, so probabilistic exploitation likelihood cannot be quantified precisely. The vulnerability is NOT in the CISA KEV catalog at time of analysis, meaning confirmed in-the-wild exploitation is unverified. GitLab instances are exceptionally high-value targets due to their access to source code, CI/CD pipeline secrets, deployment credentials, and internal infrastructure - a successful exploit delivers asymmetric attacker value beyond the server itself. The 'certain conditions' language should prompt defenders to verify with the vendor advisory whether default configurations are exploitable before treating AC:H as a reliable risk reduction. |
| Exploit ScenarioDerived | An authenticated GitLab user - such as a Reporter on any project with package registry access - submits a crafted package upload request containing path traversal sequences to the GitLab package registry API endpoint. Under the specific server-side conditions that trigger the flaw, GitLab's path validation fails to sanitize the input, allowing the attacker to write a malicious file (such as a web shell, cron entry, or SSH authorized key) outside the intended package storage directory to a location writable by the GitLab process. A publicly available exploit on HackerOne (report 3754194) confirms technical feasibility; an attacker who can trigger the right conditions achieves persistent code execution on the host. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 23, 2026
Remote code execution in GitLab CE/EE package registry exposes instances across three active version branches to full host compromise by an authenticated low-privilege user. Path traversal (CWE-22) in the package registry component allows directory escape and arbitrary file write under certain server-side conditions, with CVSS scope change (S:C) confirming that impact extends beyond the GitLab application to the underlying host. A publicly available exploit exists via HackerOne report 3754194, though this vulnerability is not listed in the CISA KEV catalog at time of analysis.
RemediationAI
Upgrade immediately to one of the patched releases - 19.0.6, 19.1.4, or 19.2.2 - depending on your current version branch, as documented at https://gitlab.com/gitlab-org/gitlab/-/work_items/601596. If immediate upgrade is not feasible, administrators can disable the package registry feature entirely via Admin Area > Settings > General > Visibility and Access Controls, which eliminates the vulnerable attack surface without affecting core git or CI/CD functionality; note this will break any pipelines or workflows that depend on the package registry. If the package registry must remain enabled and patching is delayed, restrict network-level access to the GitLab instance to trusted internal IP ranges via firewall rules to limit exposure to internal authenticated users only - this does not mitigate insider threat but substantially reduces external attack surface. Monitor GitLab application and web server logs for anomalous package registry requests containing encoded path separators or double-dot sequences as a detection control while remediation is in progress.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
GitLab CE/EE (CPE: cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:*) is a comprehensive DevOps platform hosting git repositories, CI/CD pipelines, and software package registries supporting formats such as npm, PyPI, Maven, and others. The vulnerable component is the package registry, which improperly validates or sanitizes file path inputs - a textbook instance of CWE-22 (Improper Limitation of a Pathname to a Restricted Directory). By crafting package upload or retrieval requests containing traversal sequences, an attacker can escape the intended package storage directory and write arbitrary files to locations accessible by the GitLab process on the underlying OS. The CVSS vector S:C (Scope Changed) indicates that successful exploitation can compromise components beyond the GitLab application itself - specifically the host system - making this path traversal a true RCE primitive rather than a read-only information disclosure variant.
Know when Gitlab gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-exploitable path traversal requiring low-privilege authentication; AC:H reflects undisclosed 'certain conditions'; S:C and full C/I/A reflect host-level RCE impact beyond the application.
Primary rating from Vendor (GitLab).
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.8 before 19.0.6, 19.1 before 19.1.4, and 19.2 before 19.2.2 that under certain conditions could have allowed an authenticated user to achieve remote code execution due to a path traversal vulnerability in the package registry.
Executive ViewAI
GitLab's package registry contains a remote code execution vulnerability affecting authenticated users on CE/EE instances across three active version branches. Without an available patch, vulnerable instances can be fully compromised by low-privilege users, exposing host systems to attackers with account access.
Disable or restrict GitLab package registry access to trusted users only; implement network segmentation between registry infrastructure and sensitive systems; enforce multi-factor authentication for registry access; enable and monitor detailed audit logs for suspicious file write activity and directory traversal patterns; restrict registry access by IP allowlist if feasible.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. Rated critical severity (CVSS 10
An issue has been discovered in GitLab CE/EE affecting all versions from 16.1 prior to 16.1.6, 16.2 prior to 16.2.9, 16.
When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af
Unauthenticated arbitrary file read in GitLab CE/EE lets remote attackers retrieve files from the GitLab server via the
The SSH key upload feature (lib/gitlab_keys.rb) in gitlab-shell before 1.7.3, as used in GitLab 5.0 before 5.4.1 and 6.x
A vulnerability in GitLab CE/EE affecting all versions from 11.10 prior to 15.1.6, 15.2 to 15.2.4, 15.3 to 15.3.2 allows
Remote code execution in GitLab CE/EE (all versions from 19.2 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2)
Sensitive credential and configuration disclosure in GitLab Enterprise Edition allows an authenticated user with Duo Cha
The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4
Authenticated code execution on the GitLab server is possible in GitLab CE/EE 19.2 through 19.4.0, where an integer over
Authenticated users who can define or modify a CI/CD configuration can achieve remote code execution on GitLab CE/EE ser
Unauthenticated path traversal in the @zereight/mcp-gitlab Model Context Protocol server prior to version 2.1.27 allows
EUVD-2026-64645
GHSA-2fpv-gqh2-qq5r
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB