Read the docs

OS command injection in Atlantis via pull request workspace name

Priority HIGH 73CWE-78Published · Updated

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

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00466 40th percentileScored 2026-11-07
Fix Fixed atlantis (runatlantis): 0.47.1github.com/runatlantis/atlantis (Go): 0.47.1

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

VendorProductAffected versionsFixed inStatusSource
runatlantisatlantis0.4.0 to before 0.47.10.47.1Patch availableCNA
—github.com/runatlantis/atlantis (Go)0.4.0 to before 0.47.10.47.1Patch availableGHSA-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

  1. 2026-10-27 Threatist record created from CVE-2026-116676
  2. 2026-10-27 Alias added: GHSA-rjh2-4xgw-p2hj
  3. 2026-10-28 Priority changed: MEDIUM → LOW
  4. 2026-11-03 CISA SSVC decision points changed
  5. 2026-11-03 Priority changed: LOW → HIGH

References

  • 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