Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as project member with state access
-
DeliveryCraft Terraform state upload request
-
ExploitManipulate state identifier parameters
-
ExecutionBypass server-side resource validation
-
PersistResolve restricted file paths
-
ImpactRead server files or corrupt state
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Resource identifier sanitization
|
| Exploitation Conditions | Exploitation requires an authenticated GitLab account holding project-level permissions sufficient to write to the Terraform state backend (GitLab's Developer role and above can push state to a project's state endpoint; CVSS PR:L confirms authenticated, non-admin access). The target project must actually use the Terraform state upload feature - projects that never push Terraform state expose no reachable attack surface. The attacker must additionally craft parameters that resolve to restricted server-side files or a corruptible state resource, which is why AC:H is assigned: naive payloads will simply fail validation or create an error, not disclose data. What LIMITS exploitation: unauthenticated users cannot trigger it (a valid session and project membership are mandatory); the impact is bounded to low confidentiality (C:L) with no integrity or availability impact recorded in the CVSS vector despite the description's DoS claim; and no KEV listing indicates no observed mass exploitation. |
| Impact | Signals conflict and should be read carefully. CVSS 3.1 places this at 3.1 (LOW): network attack vector but high complexity (AC:H), privileges required (PR:L), no user interaction, and limited confidentiality impact only - the vector explicitly sets A:N even though the description mentions denial of service, so the DoS claim is not corroborated by the scoring body and should be treated as unverified. The high attack complexity reflects the difficulty of crafting parameters that successfully resolve to restricted server paths. A public proof of concept (HackerOne report 3575167) is confirmed by the input, which raises practical exploitability above what a 3.1 score implies, but this is not confirmed actively exploited - no CISA KEV entry. EPSS was not supplied, so exploitation probability cannot be quantified and the SSVC exploitation status is best classified as 'PoC exists, no observed exploitation'. Net assessment: low-priority patching for most organizations (no RCE, no privilege escalation, requires an authenticated project member), but higher priority for multi-tenant GitLab instances where untrusted or external contributors have Developer-level access to projects using Terraform state. |
| Exploit ScenarioDerived | An attacker with a Developer-level account on a GitLab project that uses the Terraform state backend (or a compromised low-privileged account) sends a crafted state upload request in which the state identifier or associated parameters are manipulated rather than the expected value. The unvalidated parameter is resolved server-side against the file/resource layer, letting the attacker read files that should be restricted to the GitLab host, or produce malformed state that degrades the service. Public exploit detail is available through the referenced HackerOne report, lowering the skill barrier despite the high attack complexity rating. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Improper validation of parameters in GitLab CE/EE's Terraform state upload functionality allows an authenticated user holding project-level permissions to read restricted file contents on the server or cause denial of service. Affected releases are all versions from 18.2.7 before 19.1.8, 19.2 before 19.2.6, and 19.3 before 19.3.2, with fixes published in the 19.3.2 patch release. Public exploit details exist via a HackerOne report, but the CVSS base score is only 3.1 (AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N); there is no CISA KEV listing and no EPSS data was provided.
RemediationAI
Upgrade to a fixed release: GitLab 19.1.8, 19.2.6, or 19.3.2 (the earliest fix on each affected branch). Vendor-released patch: 19.1.8, 19.2.6, 19.3.2; see https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-3-2-released/ for the official advisory and https://gitlab.com/gitlab-org/gitlab/-/work_items/592821 for the tracking item. If an immediate upgrade is not possible, reduce exposure by limiting project-level membership that grants Terraform state write access to trusted users only (trade-off: slows onboarding of external contributors), auditing projects that use the Terraform state backend, and reviewing server file permissions so the GitLab process cannot read sensitive files outside its expected data directories (trade-off: operational hardening only, it does not remove the parsing flaw). Rotating any secrets stored on the GitLab host is advisable if exploitation is suspected, since the confidentiality impact is file disclosure. Because the flaw requires an authenticated project member, restricting who can push Terraform state is the most effective compensating control until patching completes.
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's Terraform integration implements a remote state backend: project members push terraform.tfstate blobs (with locking and serial parameters) to an HTTP API endpoint that GitLab's Rails application parses and persists. The flaw is classified as CWE-99, Improper Control of Resource Identifiers ('Resource Injection'), meaning a user-supplied parameter (e.g. state name/identifier passed into the state upload handler) is used to resolve server-side resources without adequate validation or normalization. Terraform state handling involves file and object resolution, so unvalidated identifiers can cause the backend to operate on paths or resources outside the intended state directory, yielding disclosure of otherwise restricted files on the GitLab host, or malformed state that destabilizes the service. The CPE cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:* confirms all GitLab CE/EE distributions share the affected code path (GitLab ships CE and EE from the same codebase).
Know when Terraform 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:H/PR:L/UI:N/S:U/C:H/I:N/A:H
Authenticated project member required (PR:L) and precise parameter crafting needed (AC:H); low file-disclosure and possible availability impact.
Primary rating from Vendor (GitLab).
CVSS VectorNVD
Lifecycle Timeline
4DescriptionNVD
GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.2.7 before 19.1.8, 19.2 before 19.2.6, and 19.3 before 19.3.2 that under certain conditions could have allowed an authenticated user with project-level permissions to access restricted file contents on the server or cause denial of service due to improper validation of parameters in the Terraform state upload functionality.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
aws/resource_aws_iam_user_login_profile.go in the HashiCorp Terraform Amazon Web Services (AWS) provider through v1.12.0
HashiCorp Terraform Enterprise releases up to v202106-1 did not properly perform authorization checks on a subset of API
Terraform version 1.0.8 through 1.5.6 allows arbitrary file write during the `init` operation if run on maliciously craf
When using the Azure backend with a shared access signature (SAS), Terraform versions prior to 0.12.17 may transmit the
The Terraform Provider for Linode prior to version 3.9.0 exposes sensitive credentials including passwords and API token
Terraform state versions can be created by a user with specific but insufficient permissions in a Terraform Enterprise w
EUVD-2026-80121
GHSA-74fm-x674-6p6m
NVD
CVE.org
EPSS
VulDB
Exploit-DB