OS command injection in Atlantis via pull request workspace name
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-78.
Summary
Atlantis from 0.4.0 before 0.47.1 passes the pull-request-controlled workspace value from atlantis.yaml into Terraform command arguments that are joined with spaces and run through sh -c. An authenticated contributor whose pull request is eligible for a plan can include shell metacharacters in the workspace name to run arbitrary commands as the Atlantis service account, CWE-78. External fork pull requests reach the flaw only when --allow-fork-prs is enabled. The commands inherit the Atlantis process environment, which can expose cloud-provider, Terraform and version-control credentials.
Written with Claude Haiku 5.5 from the sources below · 2026-11-03
Description from the CNA
Atlantis is a self-hosted golang application that listens for Terraform pull request events via webhooks. From version 0.4.0 until 0.47.1, Atlantis passes the pull-request-controlled workspace value from atlantis.yaml into Terraform command arguments that are joined with strings.Join(args, " ") and executed through sh -c. An authenticated contributor whose pull request is eligible for an Atlantis plan can include shell metacharacters in the workspace name, causing arbitrary commands to execute as the Atlantis service account without custom workflows, apply permission, or a malicious Terraform provider. External contributors can reach the flaw through fork pull requests only when --allow-fork-prs is enabled, while eligible same-repository branches do not require that option. The commands inherit the Atlantis process environment and can access cloud-provider, Terraform, and version-control credentials as well as files, state, and network resources available to the service. This issue is fixed in version 0.47.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| runatlantis | atlantis | 0.4.0 to before 0.47.1 | 0.47.1 | Patch available | CNA |
| — | github.com/runatlantis/atlantis (Go) | 0.4.0 to before 0.47.1 | 0.47.1 | Patch available | GHSA-rjh2-4xgw-p2hj |
- atlantis Vendorrunatlantis Affected 0.4.0 to before 0.47.1 Fixed in 0.47.1 Patch available CNA
- github.com/runatlantis/atlantis (Go) Vendor— Affected 0.4.0 to before 0.47.1 Fixed in 0.47.1 Patch available GHSA-rjh2-4xgw-p2hj
Remediation
Upgrade runatlantis/atlantis and the Go module github.com/runatlantis/atlantis to version 0.47.1.
Written with Claude Haiku 5.5 from the sources below · 2026-11-03
- Fix · CNA atlantis (runatlantis) Fixed in 0.47.1
- Fix · GHSA-rjh2-4xgw-p2hj github.com/runatlantis/atlantis (Go) Fixed in 0.47.1 Advisory →
Timeline
- 2026-10-27 Threatist record created from CVE-2026-116676
- 2026-10-27 Alias added: GHSA-rjh2-4xgw-p2hj
- 2026-10-28 Priority changed: MEDIUM → LOW
- 2026-11-03 CISA SSVC decision points changed
- 2026-11-03 Priority changed: LOW → HIGH
References
Other 6
- https://github.com/runatlantis/atlantis/security/advisories/GHSA-rjh2-4xgw-p2hj
- https://github.com/runatlantis/atlantis/pull/6792
- https://github.com/runatlantis/atlantis/commit/8dd22b4d0a9d7c129fdbf6a3398dd1c4cf8c3a59
- https://github.com/runatlantis/atlantis/commit/f04df0d53f0544d9eb6f5026dd8b74fbefd82ac8
- https://github.com/runatlantis/atlantis/releases/tag/v0.47.1
- https://github.com/runatlantis/atlantis
More runatlantis vulnerabilities
- TI-2026-46224 Atlantis: Path Traversal in Atlantis Workspace Handling Allows Out-of-Bounds Directory Deletion/Creation CVSS 3.1HIGH 8.1
- TI-2025-36203 Atlantis Exposes Service Version Publicly on /status API Endpoint CVSS 4.0MEDIUM 6.9
- TI-2026-56747 Atlantis GitHub App Setup Endpoint Returns App Credentials to Unauthenticated Callers CVSS 4.0HIGH 8.8
- TI-2024-34896 Git credentials are exposed in atlantis logs CVSS 4.0HIGH 8.5
- TI-2022-08720 Timing Attack CVSS 3.1HIGH 7.5
Sources
- CVE-2026-116676 · CVE Program
- CVE-2026-116676 · NVD
- FIRST EPSS
- GHSA-rjh2-4xgw-p2hj · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences