{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "1.0.0"
                  },
                  {
                    "last_affected": "1.0.0"
                  }
                ],
                "source": "AFFECTED_FIELD",
                "strategy": "StandaloneSingleVersion"
              },
              {
                "cpe": "cpe:2.3:a:rtkai:rtk-rewrite:1.0.0:*:*:*:*:rust:*:*",
                "range": [
                  {
                    "introduced": "1.0.0"
                  },
                  {
                    "last_affected": "1.0.0"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          },
          "events": [
            {
              "introduced": "01f819c41da43698f5aedf2a8d730f716779009a"
            },
            {
              "last_affected": "01f819c41da43698f5aedf2a8d730f716779009a"
            }
          ],
          "repo": "https://github.com/rtk-ai/rtk",
          "type": "GIT"
        }
      ],
      "versions": [
        "1.0.0"
      ]
    }
  ],
  "aliases": [
    "GHSA-fqgj-m2gp-mr3q"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-78"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55249.json"
  },
  "details": "@rtk-ai/rtk-rewrite transparently rewrites shell commands executed via OpenClaw's exec tool to their RTK equivalents. In 1.0.0, the @rtk-ai/rtk-rewrite OpenClaw plugin passes attacker-controlled input directly into a shell-backed execSync() template string without shell-safe escaping. JSON.stringify() wraps the value in double quotes and escapes inner double-quotes and backslashes, but leaves $() and backtick shell metacharacters untouched. Because execSync delegates execution to /bin/sh -c, the shell expands $(...) substitutions even inside double-quoted strings, causing the injected subcommand to execute before rtk is invoked. An attacker who can influence the exec tool's command parameter (e.g., via an LLM agent prompt or gateway/tool-call input) achieves arbitrary OS command execution with the privileges of the plugin/gateway process.",
  "id": "CVE-2026-55249",
  "modified": "2026-10-21T02:30:15.777238161Z",
  "published": "2026-06-23T18:33:46.014Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55249.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/rtk-ai/rtk/security/advisories/GHSA-fqgj-m2gp-mr3q"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-55249"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "@rtk-ai/rtk-rewrite: OpenClaw Rewrite Plugin Command Injection via execSync Template String"
}