CVE-2026-45099
MinimOS vulnerability analysis and mitigation

Overview

CVE-2026-45099 is an arbitrary file deletion vulnerability in Gruntwork's Terragrunt infrastructure-as-code tool, caused by improper validation of paths in the .terragrunt-module-manifest file during external module downloads. An attacker who controls a remote module can craft a malicious manifest containing directory traversal paths, causing Terragrunt to delete arbitrary files anywhere on the local filesystem accessible to the Terragrunt process. All versions of Terragrunt prior to v1.0.4 are affected. The vulnerability was discovered by Francesco Sabiu (@fsabiu), disclosed on August 3, 2026, and published to the GitHub Advisory Database on August 17, 2026. It carries a CVSS v4.0 base score of 6.9 (Medium) (GitHub Advisory, Terragrunt Advisory).

Technical details

The root cause is improper input validation (CWE-20), with path traversal characteristics (CWE-22), in Terragrunt's module manifest handling logic. Terragrunt uses a .terragrunt-module-manifest file (in gob format) to track files copied into a downloaded module's working directory; during cleanup, it decodes manifest entries and deletes the listed paths to prepare a fresh directory for OpenTofu/Terraform execution. Prior to v1.0.4, Terragrunt did not verify that paths listed in the manifest remained within the module's destination directory boundary, allowing an attacker to embed directory traversal sequences (e.g., ../../) in a forged manifest to target files outside the cache. The deletion occurs during the module download and initialization phase — before OpenTofu or Terraform executes — meaning no user interaction beyond referencing the malicious module is required. The fix in v1.0.4 introduces a boundary check ensuring all cleaned paths remain within the intended manifest folder, skips paths with symlinked parents, and removes invalid manifests after reading valid entries (GitHub Advisory, Terragrunt Release).

Impact

Successful exploitation allows an attacker to delete arbitrary files on the local filesystem with the permissions of the Terragrunt process. In CI/CD environments or automated runners, this can cause denial of service by destroying pipeline configuration, state files, credentials, or other critical infrastructure files. In developer workstations, it can result in permanent loss of source code or configuration files. The vulnerability is explicitly a deletion-only primitive — it does not enable arbitrary code execution (RCE) or data exfiltration — but file deletion in infrastructure automation contexts can have severe cascading effects on deployment pipelines and system integrity (GitHub Advisory, Terragrunt Advisory).

Exploitability

No public proof-of-concept exploit code or evidence of in-the-wild exploitation has been reported as of the advisory publication date. The CVE status is listed as "Reserved," and no EPSS score or CISA KEV catalog entry is currently available. The attack requires no privileges and no user interaction beyond a developer or CI/CD system referencing a malicious remote module, making it relatively straightforward to exploit in supply chain attack scenarios where an attacker can compromise or impersonate a module source (GitHub Advisory).

Exploitation steps

  1. Identify a target: Locate organizations or CI/CD pipelines using Terragrunt versions prior to v1.0.4 that consume remote OpenTofu/Terraform modules from external or semi-trusted sources.
  2. Craft a malicious module: Create or compromise a remote Terraform/OpenTofu module repository and include a maliciously crafted .terragrunt-module-manifest file in gob format.
  3. Embed traversal paths: Populate the manifest with directory traversal entries (e.g., ../../sensitive-file, ../../../etc/hosts) pointing to target files outside the module's cache directory that the Terragrunt process has permission to delete.
  4. Host the module: Publish the malicious module to a Git repository, registry, or any URL that the target's Terragrunt configuration references as a module source.
  5. Trigger module download: When the victim runs any Terragrunt command that downloads and initializes the module (e.g., terragrunt init, terragrunt plan, terragrunt apply), Terragrunt decodes the manifest and deletes the traversal-specified files before OpenTofu/Terraform executes.
  6. Achieve impact: Targeted files (pipeline configs, Terraform state files, SSH keys, source code) are permanently deleted, causing denial of service or disruption of the deployment pipeline (GitHub Advisory, Terragrunt Advisory).

Indicators of compromise

  • File System: Unexpected deletion of files outside the .terragrunt-cache directory following a Terragrunt module download; missing configuration files, state files, or source code in directories adjacent to or above the Terragrunt working directory.
  • File System: Presence of a .terragrunt-module-manifest file in a downloaded module directory containing encoded paths with ../ or absolute path sequences.
  • Logs: Terragrunt execution logs showing module download and initialization completing successfully followed by unexpected file-not-found errors in subsequent pipeline steps.
  • Logs: CI/CD pipeline failures immediately after a terragrunt init or similar command, particularly when a new or recently updated external module source was referenced.
  • Process: Terragrunt process performing file deletion operations (via OS-level audit logging such as Linux auditd with -a always,exit -F arch=b64 -S unlinkat) targeting paths outside the expected .terragrunt-cache directory.

Mitigation and workarounds

Upgrade Terragrunt to version v1.0.4 or later, which introduces a secure boundary check ensuring manifest cleanup paths remain within the module's destination directory (Terragrunt Release). For users unable to upgrade immediately, the following workarounds reduce risk: (1) strictly audit all remote module source URLs in Terragrunt configurations; (2) consume modules only from trusted, internally vetted sources or verified registries; and (3) pin module versions to specific, known-safe Git commit SHAs rather than mutable tags or branches (Terragrunt Advisory). Upgrading to v1.0.4 is the only complete remediation.

Community reactions

The vulnerability was responsibly disclosed by security researcher Francesco Sabiu (@fsabiu) and credited in the official advisory. The Terragrunt maintainer (yhakbar) published the advisory on August 3, 2026, and it was reviewed and added to the GitHub Advisory Database on August 17, 2026. No significant broader media coverage or notable community commentary beyond the official advisory has been identified at this time (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related MinimOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-77354HIGH8.7
  • Chainguard logoChainguard
  • grafana-12.2
NoYesAug 21, 2026
CVE-2026-64679HIGH8.1
  • Atlantis logoAtlantis
  • github.com/runatlantis/atlantis
NoYesAug 21, 2026
CVE-2026-76905HIGH7.5
  • Chainguard logoChainguard
  • grafana-fips-13.1
NoYesAug 21, 2026
CVE-2026-45099MEDIUM6.9
  • MinimOS logoMinimOS
  • github.com/gruntwork-io/terragrunt
NoYesAug 21, 2026
CVE-2026-63466MEDIUM4.1
  • JavaScript logoJavaScript
  • unleash-server
NoYesAug 21, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management