Home

Description

@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.

PUBLISHED Reserved 2026-06-16 | Published 2026-06-23 | Updated 2026-06-23 | Assigner GitHub_M




MEDIUM: 6.3CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N

Problem types

CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

Product status

1.0.0
affected

References

github.com/...ai/rtk/security/advisories/GHSA-fqgj-m2gp-mr3q exploit

github.com/...ai/rtk/security/advisories/GHSA-fqgj-m2gp-mr3q

cve.org (CVE-2026-55249)

nvd.nist.gov (CVE-2026-55249)

Download JSON