Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessVCS collaborator crafts atlantis.yaml with traversal workspace value
-
DeliverySubmit pull request to Atlantis-monitored repository
-
ExploitAtlantis processes webhook and resolves path outside ~/.atlantis/repos/
-
Executionos.RemoveAll and os.MkdirAll execute on arbitrary writable directory
-
PersistTerraform rejects workspace name after filesystem operations complete
-
ImpactIntegrity loss or DoS on Atlantis persistent data achieved
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 an authenticated user who can either commit an atlantis.yaml to a repository whose pull requests Atlantis is configured to process, or submit a crafted authenticated /api/plan HTTP request. The workspace value must contain path traversal segments (e.g., '../../../../tmp/target') to escape the ~/.atlantis/repos/ workspace root. Exploitation is bounded by the filesystem permissions of the Atlantis process user - only paths writable by that process are affected; the CVSS vector PR:L confirms at minimum low-privilege authentication is required and unauthenticated exploitation is not possible. Containerized deployments constrain host filesystem reach, but writable mounted volumes including Terraform state and plan artifact directories remain within scope. The vulnerability does not require a non-default configuration - accepting repository-level atlantis.yaml is a standard and commonly used Atlantis deployment mode. |
| Impact | The CVSS 8.1 score (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H) reflects network-accessible exploitation requiring only low-privilege authentication, with high integrity and availability impact but no confidentiality loss. The PR:L prerequisite is the primary limiting factor - exploitation requires a user who can submit repository-level atlantis.yaml (a VCS repository collaborator) or make authenticated /api/plan requests. A working PoC is confirmed in the GHSA advisory with specific workspace values and log output, providing high confidence that exploitation is technically feasible with minimal skill. The vulnerability is absent from CISA KEV, indicating no confirmed widespread active exploitation at time of analysis. In containerized Atlantis deployments, host filesystem impact is constrained by container isolation, but writable mounted volumes - Terraform state directories, plan artifact paths, and persistent Atlantis data - remain fully exploitable. The dual I:H/A:H impact is particularly significant in CI/CD contexts where Terraform state corruption or working-directory deletion can directly disrupt infrastructure operations. Real-world risk is elevated for any organization where Atlantis accepts atlantis.yaml from contributor-level VCS users, which is a common and default-supported configuration. |
| Exploit ScenarioDerived | A VCS repository collaborator with pull request access commits an atlantis.yaml containing a workspace value of '../../../../../../../../tmp/f1-canary' and opens a pull request. Atlantis processes the incoming webhook, resolves the traversal to /tmp/f1-canary, and invokes os.RemoveAll followed by os.MkdirAll on that out-of-bounds path before Terraform rejects the workspace name - deleting and recreating an arbitrary directory with Atlantis process privileges. A working PoC demonstrating this exact behavior, including Atlantis log output confirming the out-of-bounds directory creation, is documented in GHSA-26w5-6g95-gj28. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 21, 2026
Path traversal in Atlantis workspace handling (versions 0.19.8 through 0.44.x) allows authenticated users to escape the intended workspace directory boundary, triggering os.RemoveAll and os.MkdirAll operations on arbitrary filesystem paths with Atlantis process privileges. A crafted workspace value such as '../../../../../../../../tmp/f1-canary' - supplied via repository atlantis.yaml or authenticated /api/plan API input - causes Atlantis to operate on out-of-bounds directories before Terraform rejects the invalid workspace name. A working proof-of-concept is documented in GHSA-26w5-6g95-gj28; the vulnerability is not in CISA KEV and no public exploit kit has been identified at time of analysis.
RemediationAI
Upgrade Atlantis to version 0.45.0, the vendor-released patch (https://github.com/runatlantis/atlantis/releases/tag/v0.45.0), which introduces both input-layer workspace validation and runtime path boundary enforcement across all command runners. If immediate upgrade is not feasible, restrict which repositories are permitted to supply atlantis.yaml using Atlantis server flags such as --allow-repo-config set to false or tightly scoped --repo-allowlist entries - this removes the primary injection vector via repository configuration, though it also disables per-repo workflow customization. Additionally, restrict authenticated access to the /api/plan endpoint to known-good callers only. Running Atlantis in a minimal-privilege container with read-only root filesystem and tightly scoped volume mounts limits the blast radius of any successful exploitation but does not remediate the vulnerability itself. Note that the patch also adds '..' validation to repository owner and name fields in models.go, so upgrading addresses the full scope of path traversal surfaces identified.
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
Atlantis is a self-hosted Go application (CPE: cpe:2.3:a:runatlantis:atlantis) that automates Terraform plan and apply operations triggered by VCS pull request webhooks. It constructs local filesystem paths by joining workspace names - sourced from user-controlled repository-level atlantis.yaml or authenticated /api/plan input - into working directories beneath ~/.atlantis/repos/. CWE-22 (Path Traversal) arises because workspace values were not sanitized prior to path construction, allowing segments like '..' to escape the intended workspace root entirely. The fix in 0.45.0 (PR #6254, commit ea4e4ceebf8b) applies two defensive layers: input validation in server/core/config/raw/project.go that rejects workspace values containing '..', '/', or '\', and runtime boundary enforcement via a new utils.EnsureSubPath guard inserted into every command runner code path - doPlan, doApply, doVersion, doImport, doPolicyCheck, and doStateRm - ensuring resolved paths cannot escape the repository working directory even if validation is bypassed.
Know when Atlantis 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:N/I:H/A:H
Network delivery via webhook or API requires VCS collaborator auth (PR:L); no confidentiality impact as exploitation is limited to filesystem path creation and deletion.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Atlantis is a self-hosted golang application that listens for Terraform pull request events via webhooks. From 0.19.8 until 0.45.0, Atlantis does not consistently validate user-controlled workspace values supplied through accepted repository-level atlantis.yaml configuration or authenticated /api/plan input before joining them into local workspace paths. Traversal segments can escape the intended per-pull workspace directory and cause clone preparation or other working-directory code paths to call os.RemoveAll, os.MkdirAll, or related filesystem operations on out-of-bounds directories before Terraform rejects the invalid workspace name. This can create, delete, or reuse writable paths with the privileges of the Atlantis process, causing integrity loss or denial of service. This issue is fixed in version 0.45.0.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
Atlantis, the widely-deployed Terraform automation platform, contains a path traversal vulnerability affecting versions 0.19.8-0.44.x that allows authenticated users to delete or create files throughout the server filesystem with Atlantis process privileges; publicly available exploit code exists. This puts organizations at risk of unplanned infrastructure downtime, loss of IaC configurations, and potential compromise of infrastructure security controls. Immediate patching is required to restore infrastructure integrity and operational resilience.
Apply vendor patch.
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.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Remote code execution in Atlantis (runatlantis/atlantis) 0.4.0 through 0.47.0 lets an authenticated contributor whose pu
Atlantis is a self-hosted golang application that listens for Terraform pull request events via webhooks. Rated high sev
The package github.com/runatlantis/atlantis/server/controllers/events before 0.19.7 are vulnerable to Timing Attack in t
The /github-app/setup endpoint in Atlantis through 0.47.1 is completely unauthenticated, exposing GitHub App credentials
Atlantis is a self-hosted golang application that listens for Terraform pull request events via webhooks. Rated medium s
EUVD-2026-64142
GHSA-26w5-6g95-gj28
NVD
CVE.org
EPSS
Exploit-DB