CVE-2026-55249
Received Received - Intake
Command Injection in @rtk-ai/rtk-rewrite OpenClaw Plugin

Publication date: 2026-06-23

Last updated on: 2026-06-23

Assigner: GitHub, Inc.

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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-23
Last Modified
2026-06-23
Generated
2026-06-24
AI Q&A
2026-06-23
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
rtk-ai rtk-rewrite 1.0.0
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-78 The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Compliance Impact

This vulnerability allows arbitrary OS command execution with the privileges of the plugin or gateway process, which poses a high risk to system confidentiality, integrity, and availability.

Such a compromise can lead to unauthorized access to sensitive data or disruption of services, potentially resulting in violations of compliance requirements under standards like GDPR and HIPAA that mandate protection of personal and health information.

Therefore, exploitation of this vulnerability could negatively impact an organization's ability to maintain compliance with these regulations due to the risk of data breaches or system integrity failures.

Executive Summary

CVE-2026-55249 is a command injection vulnerability in the @rtk-ai/rtk-rewrite OpenClaw plugin version 1.0.0. The plugin passes attacker-controlled input directly into a shell-backed execSync() template string without proper shell-safe escaping.

Although JSON.stringify() wraps the input in double quotes and escapes inner quotes and backslashes, it does not neutralize shell metacharacters like $() and backticks. Because execSync delegates execution to /bin/sh -c, the shell expands $(...) substitutions even inside double-quoted strings, allowing injected subcommands to execute before the intended rtk command.

An attacker who can influence the command parameter (for example, via an LLM agent prompt or gateway input) can execute arbitrary OS commands with the privileges of the plugin or gateway process.

Impact Analysis

This vulnerability allows an attacker to execute arbitrary operating system commands with the privileges of the plugin or gateway process. This can lead to unauthorized actions such as creating or modifying files, accessing sensitive data, or disrupting system operations.

Because the plugin is enabled by default after installation, all users of version 1.0.0 are affected without additional configuration, increasing the risk of exploitation.

The impact includes potential compromise of system confidentiality, integrity, and availability.

Detection Guidance

This vulnerability can be detected by checking if the @rtk-ai/rtk-rewrite OpenClaw plugin version 1.0.0 is in use, as it passes attacker-controlled input directly into a shell-backed execSync() call without proper escaping.

One practical way to detect exploitation attempts is to look for unexpected files created by injected commands, such as the example given where an attacker might run a command like `git status $(touch /tmp/poc)` which creates a file `/tmp/poc`.

You can check for such files or suspicious command executions by running commands like:

  • ls -l /tmp/poc
  • grep -r '\$()' or backticks in logs related to the OpenClaw exec tool usage to identify suspicious command parameters.
  • Audit the code or configuration to see if execSync is called with user-controlled input without shell-safe escaping.
Mitigation Strategies

The immediate mitigation step is to update the plugin code to avoid using execSync with shell interpretation of user input.

Specifically, replace execSync with spawnSync and set the option shell: false, passing the command and its arguments as an array. This prevents the shell from interpreting metacharacters like $() and backticks, thus blocking command injection.

Additionally, review and restrict any inputs that can influence the command parameter, such as LLM agent prompts or gateway/tool-call inputs, to reduce the risk of injection.

If an update or patch is available from the vendor or repository, apply it immediately.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-55249. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart