Atlantis: pull request can run commands on the server via workspace name
A person who can open a pull request in a repository using Atlantis can hide system commands inside the workspace name. Atlantis then runs those commands on its server, with the server's access to cloud and repository credentials.
| Severity | HighCVSS 8.8 of 10 |
|---|---|
| Being exploited? | UnclearNo reports either way yet |
| Fix available? | Yes0.47.1 · since 27 Oct 2026 |
| How sure is this? | Official, 2 sourcesBacked by an official source |
How the attack works simplified
- 1Contributor opens PRWorkspace name in atlantis.yaml contains shell syntax
- 2Atlantis reads configOnly blocks .. / and backslash
- 3Command built as stringArguments joined with spaces, no escaping
- 4Run via sh -cInjected commands execute on the server
- 5Credentials exposedProcess environment includes cloud and VCS secrets
- ResultAttacker runs commands as the Atlantis service account
What happened
Atlantis builds Terraform commands by joining arguments into a string and running it via sh -c, without escaping the pull-request-controlled workspace value from atlantis.yaml. Shell metacharacters in the workspace name lead to arbitrary command execution as the Atlantis service account.
Are you affected?
You are affected if you run Atlantis version 0.4.0 through 0.47.0 and any contributor can open a pull request eligible for an Atlantis plan, including same-repository branches; external fork pull requests are reachable only when --allow-fork-prs is enabled.
| Package / product | Affected versions | Fixed in |
|---|---|---|
| github.com/runatlantis/atlantis · go | >= 0.4.0, <= 0.47.0 | 0.47.1 |
What to do
- Upgrade Atlantis to version 0.47.1 or later
- Rotate cloud-provider, Terraform, and version-control credentials available to the Atlantis process if it ran a vulnerable version with untrusted pull requests
- Keep --allow-fork-prs disabled unless you need it
Timeline
- 27 Oct 2026, 18:17 UTCPublicly disclosed
- 27 Oct 2026, 18:17 UTCReported by NVD · NVD
- 27 Oct 2026, 18:20 UTCPicked up by Zero Radar
- 27 Oct 2026, 21:05 UTCGitHub Advisory reported on it · GitHub Advisory
- 27 Oct 2026, 21:05 UTCFixed version published: github.com/runatlantis/atlantis 0.47.1 · GitHub Advisory
Sources 2 reports, oldest first
Official vendor, government CERT or advisory database
- CVE-2026-116676NVD · 27 Oct 2026, 18:17 UTC
- Atlantis: OS command injection through PR-controlled Terraform workspace enables RCE during planGitHub Advisory · 27 Oct 2026, 21:04 UTC
Technical details
- ID
- CVE-2026-116676 · GHSA-rjh2-4xgw-p2hj
- CVSS
- 8.8 / 10
- EPSS
- 0.5% chance of exploitation within 30 days
- Disclosed
- 27 Oct 2026, 18:17 UTC
- On Zero Radar
- 27 Oct 2026, 18:20 UTC (3 min after disclosure)
- Last change
- 27 Oct 2026, 21:05 UTC
The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works