Skip to content
Heist/ feed
Back to feed
High

Atlantis: OS command injection through PR-controlled Terraform workspace enables RCE during plan

Type: advisorySources: Official CVE List

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.

Products
atlantis
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-116676
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 14:34 UTC · Revision 1

Source evidence

Atlantis: OS command injection through PR-controlled Terraform workspace enables RCE during plan

core-cve · Original source

Published 27 Oct 2026, 17:11 UTC

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.

cve:CVE-2026-116676

atlantis

Fixed versions: Not specified

Complete source record
{
  "id": "6ad12fdea9fa3abff954b30e81a9d19cd776712ad307733c1114d322b5c6cdbe",
  "url": "https://www.cve.org/CVERecord?id=CVE-2026-116676",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Atlantis: OS command injection through PR-controlled Terraform workspace enables RCE during plan",
    "summary": "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.",
    "evidence": "cve:CVE-2026-116676",
    "products": [
      {
        "name": {
          "value": "atlantis",
          "evidence": "/containers/cna/affected/0/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-116676",
      "aliases": [
        "CVE-2026-116676"
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "scope": "UNCHANGED",
            "version": "3.1",
            "baseScore": 8.8,
            "attackVector": "NETWORK",
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "integrityImpact": "HIGH",
            "userInteraction": "NONE",
            "attackComplexity": "LOW",
            "availabilityImpact": "HIGH",
            "privilegesRequired": "LOW",
            "confidentialityImpact": "HIGH"
          }
        }
      ],
      "affected": [
        {
          "vendor": "runatlantis",
          "product": "atlantis",
          "versions": [
            {
              "status": "affected",
              "version": ">= 0.4.0, < 0.47.1"
            }
          ]
        }
      ],
      "modified": "2026-10-27T17:11:12.744Z",
      "provider": "cve",
      "references": [
        "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"
      ],
      "provider_metadata": {
        "cna": {
          "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
          "shortName": "GitHub_M",
          "dateUpdated": "2026-10-27T17:11:12.744Z"
        }
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-116676",
        "evidence": "/cveMetadata/cveId"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/containers/cna/metrics"
  },
  "source_id": "core-cve",
  "document_id": 394483,
  "published_at": "2026-10-27T17:11:12.744+00:00"
}