Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReference attacker-controlled remote module in Terragrunt config
-
DeliveryTerragrunt fetches module over network during init
-
ExploitForged .terragrunt-module-manifest delivered with traversal paths
-
ExecutionCleanup function decodes manifest without boundary validation
-
PersistProcess deletes targeted out-of-scope files on host filesystem
-
ImpactPipeline disruption or data loss achieved
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Exploitation requires that the victim's Terragrunt configuration references a remote module source that is either directly controlled by the attacker or has been compromised to serve a forged |
| Impact | No CVSS score or EPSS probability is available from NVD or the vendor advisory, requiring defenders to perform independent assessment. The attack vector is network-delivered (a remote module must be fetched), with no required attacker privileges on the victim system, but exploitation is gated on user interaction: the victim must explicitly run a Terragrunt command that triggers module download against an attacker-controlled source. This narrows real-world risk significantly - the attack surface is limited to organizations or individuals who consume remote modules from external, potentially untrusted sources, which is not an uncommon pattern in public registry usage. The impact is limited to file deletion (no RCE, no exfiltration, per vendor confirmation), but in CI/CD pipelines this can translate to high availability and integrity impact - deletion of deployment keys, pipeline scripts, or source code. The absence of a KEV listing and lack of any known public exploit suggest exploitation has not been observed in the wild at time of analysis. The 'RCE' tag in the source metadata is inconsistent with the vendor advisory and should be treated as a mis-classification. Overall risk is meaningful in automated environments consuming third-party modules but is substantially mitigated by the prerequisite of module source trust. |
| Exploit ScenarioDerived | An attacker publishes a malicious Terraform module to a public registry - or compromises an existing trusted module - and embeds a crafted |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 17, 2026
Arbitrary file deletion in Terragrunt before v1.0.4 allows an attacker who controls a remote module source to delete any file accessible to the Terragrunt process by embedding directory traversal paths in a forged .terragrunt-module-manifest file within the module. The deletion occurs automatically during the module download and initialization phase - before OpenTofu or Terraform executes - making CI/CD pipelines that consume external modules particularly exposed. No public exploit has been identified and no CISA KEV listing exists; a vendor-released patch is available in v1.0.4. Note: an 'RCE' tag in the source metadata directly contradicts the vendor advisory's explicit statement that this is a deletion-only primitive with no code execution or data exfiltration capability.
RemediationAI
Upgrade Terragrunt to v1.0.4 or later; the release is available at https://github.com/gruntwork-io/terragrunt/releases/tag/v1.0.4. This version introduces a secure boundary check ensuring all paths referenced in a module's .terragrunt-module-manifest are resolved and validated to remain within the module's destination directory before any deletion is performed. If immediate upgrade is not feasible, apply the following compensating controls in order of effectiveness: first, pin all remote module references to specific, verified Git commit SHAs rather than mutable tags or branches - this prevents a compromised registry entry from substituting a malicious manifest without detection; second, restrict module sources in Terragrunt configurations exclusively to internally hosted, vetted registries or mirrors rather than public registries; third, audit all existing source URLs in Terragrunt configurations to verify they resolve to trusted, internally controlled repositories. Note that URL auditing alone is insufficient if a trusted upstream registry is itself compromised - SHA pinning provides stronger guarantees but requires a maintenance process to track and verify new upstream versions. Running Terragrunt under a process account with minimal filesystem permissions (e.g., restricted to the pipeline workspace directory) limits the blast radius of exploitation but does not remediate the underlying flaw.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Terragrunt (package: go/github.com/gruntwork-io/terragrunt) is a thin orchestration wrapper for OpenTofu and Terraform that adds module caching, remote module fetching, and lifecycle management. When downloading remote modules, Terragrunt tracks files it copies into a module's working directory by recording their paths in a .terragrunt-module-manifest file stored alongside the module. During the cleanup phase preceding each fresh OpenTofu/Terraform run, Terragrunt decodes this manifest and deletes the listed file paths to prepare a clean directory. The root cause is CWE-20 (Improper Input Validation): Terragrunt unconditionally trusted the manifest supplied by the downloaded module without verifying that the paths it contained were bounded within the module's designated destination directory. An attacker-forged manifest containing POSIX directory traversal sequences (e.g., ../../etc/ or ../../home/user/.ssh/) causes the cleanup function to resolve and delete paths entirely outside the cache, up to the limits of the process's OS-level filesystem permissions. The v1.0.4 patch introduces a boundary check that rejects any manifest path resolving outside the manifest's parent directory.
Know when Hashicorp 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Network delivery via remote module fetch; no attacker privileges required; user must run Terragrunt command (UI:R); no confidentiality impact; high integrity and availability from arbitrary deletion.
Primary rating from Vendor (https://github.com/gruntwork-io/terragrunt).
CVSS VectorVendor: https://github.com/gruntwork-io/terragrunt
Lifecycle Timeline
1DescriptionCVE.org
Summary
Terragrunt is vulnerable to an arbitrary file deletion flaw when downloading external modules. If a remote module contains a maliciously crafted .terragrunt-module-manifest file, Terragrunt can be tricked into deleting files anywhere on the local filesystem that the Terragrunt process has access to.
Impact
This vulnerability impacts users who download and run untrusted or compromised OpenTofu/Terraform modules. The file deletion occurs during the module download and initialization phase, meaning it happens before OpenTofu or Terraform executes.
In a CI/CD environment or automated runner, an attacker-controlled module could delete arbitrary files, causing denial of service in the deployment pipeline. In a local environment, it could lead to the loss of local source code or configuration files.
This vulnerability is a deletion-only primitive; it does not directly allow for arbitrary code execution (RCE) or data exfiltration.
Affected Versions
- Terragrunt <
v1.0.4
Patches
This vulnerability has been resolved in Terragrunt version v1.0.4.
All users are strongly advised to upgrade.
Workarounds
If users cannot upgrade immediately, they can mitigate this risk by:
- Strictly auditing the source URLs of all remote modules used in their Terragrunt configurations.
- Only consuming modules from trusted, internally vetted sources or verified registries.
- Pinning module versions to specific, known-safe Git commit SHAs rather than mutable tags or branches.
Technical Details
Terragrunt tracks files copied into a downloaded module's working directory using a .terragrunt-module-manifest file. During the directory cleanup process, Terragrunt decodes the entries in this manifest and removes the listed files to prepare a fresh directory for OpenTofu/Terraform runs.
Previously, Terragrunt trusted the manifest provided by the downloaded module without verifying that the paths scheduled for deletion remained within the boundaries of the module's destination directory. An attacker could forge a manifest containing directory traversal paths, causing the cleanup function to target files outside the cache. The patch introduces a secure boundary check to ensure all cleaned paths remain safely isolated inside the intended manifest folder.
Credit
Terragrunt would like to thank Francesco Sabiu (@fsabiu) for discovering and responsibly disclosing this vulnerability.
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.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Unauthenticated remote attackers can trigger complete database overwrites, server-side file reads, and SSRF attacks agai
HashiCorp Terraform’s Vault Provider (terraform-provider-vault) did not correctly configure GCE-type bound labels for Va
An XML external entity (XXE) vulnerability in the Password Vault Web Access (PVWA) of CyberArk Enterprise Password Vault
PhotoRange Photo Vault 1.2 appends the password to the URI for authorization, which makes it easier for remote attackers
The REST API in CyberArk Password Vault Web Access before 9.9.5 and 10.x before 10.1 allows remote attackers to execute
Server-side request forgery in bank-vaults vault-secrets-webhook (<= 1.22.2) lets a low-privileged tenant with ConfigMap
Account takeover in self-hosted Bitwarden Server before 2026.6.0 lets a low-privileged organization member steal any oth
vault-cli is a configurable command-line interface tool (and python library) to interact with Hashicorp Vault. Rated cri
The SRP-6a implementation in Kee Vault KeePassRPC before 1.12.0 is missing validation for a client-provided parameter, w
The SRP-6a implementation in Kee Vault KeePassRPC before 1.12.0 generates insufficiently random numbers, which allows re
Server-side request forgery in the Ruby css_parser gem (< 3.0.0) lets a remote unauthenticated attacker force the parsin
Same weakness CWE-20 – Improper Input Validation
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
EUVD-2026-64128
GHSA-8394-6f8r-whxg
NVD
CVE.org
EPSS
Exploit-DB