Vulnerability advisory
CVE-2026-116676
Atlantis: OS command injection through PR-controlled Terraform workspace enables RCE during plan
Also known as GHSA-rjh2-4xgw-p2hjGO-2026-6871
- CVSS 3.x
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected versions
Repository
| Affected commits | Fixed by commit |
|---|---|
| GIT github.com/runatlantis/atlantis ↗ | |
| f5a906dd68e9d3df2bc17f877eb99f3566a903a1 to before 8dd22b4d0a9d7c129fdbf6a3398dd1c4cf8c3a59 | 8dd22b4d0a9d7c129fdbf6a3398dd1c4cf8c3a59 |
| Not specified | f04df0d53f0544d9eb6f5026dd8b74fbefd82ac8 |
Also listed as affected (133)
| |
Description
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.
References
- Webgithub.com/runatlantis/atlantis/releases/tag/v0.47.1 ↗
- Advisorygithub.com/CVEProject/cvelistV5/tree/main/cves/2026/116xxx/CVE-2026-116676.json ↗
- Advisorygithub.com/runatlantis/atlantis/security/advisories/GHSA-rjh2-4xgw-p2hj ↗
- Advisorynvd.nist.gov/vuln/detail/CVE-2026-116676 ↗
- Fixgithub.com/runatlantis/atlantis/commit/8dd22b4d0a9d7c129fdbf6a3398dd1c4cf8c3a59 ↗
- Fixgithub.com/runatlantis/atlantis/commit/f04df0d53f0544d9eb6f5026dd8b74fbefd82ac8 ↗
- Fixgithub.com/runatlantis/atlantis/pull/6792 ↗