Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPlant prompt injection in agent-read content
-
DeliveryAgent ingests attacker instruction during task
-
ExploitCraft quote-masked command hiding separators behind allowlisted echo
-
ExecutionparseCommandLine desync auto-approves hidden command
-
ImpactShell executes unapproved command on victim host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service Interpretation consistency
|
| Exploitation Conditions | Exploitation requires all of the following: (1) the victim runs Roo Code version through 3.54.0 as a VS Code AI coding agent; (2) the auto-approve / command allowlist feature is enabled with permissive allowlisted prefixes such as 'echo'; (3) the agent processes attacker-controlled content (indirect prompt injection) - e.g. a malicious file, repository, issue, tool output, or fetched web page the agent is asked to work on; and (4) a crafted payload uses escaped or single-quoted double quotes to desynchronize the quote-masking regex in parseCommandLine(), hiding command separators behind the allowlisted prefix. Limiting factors that reduce realistic risk: it cannot fire against a default deny-everything setup (the allowlist auto-approve feature must be configured), it needs a prompt-injection delivery channel rather than direct network reach, and it depends on the user actively running the agent over the poisoned content (UI:P). It does NOT require any prior authentication or privileges on the victim system (PR:N). |
| Impact | This is a genuine but conditional priority rather than a drop-everything emergency. The CVSS 4.0 base score of 7.7 (High) reflects full confidentiality/integrity/availability impact on the vulnerable system (VC:H/VI:H/VA:H) via a network vector with no privileges (AV:N/PR:N), but two metrics materially temper real-world ease: AT:P (a specific attack requirement - the allowlist/auto-approve feature must be enabled with permissive prefixes and the parser desync must be triggered) and UI:P (the victim must run the agent against attacker-controlled content). No EPSS score, SSVC decision, or CISA KEV entry was provided, so exploitation probability cannot be quantified from the input and there is no public exploit identified as such at time of analysis. However, the references include a detailed third-party technical write-up (github.com/7rah/oss-cve/roocode-quote-boundary.md) plus direct links to the vulnerable source lines in parse-command.ts, which lower the bar for building a working exploit. The 'Authentication Bypass' tag is imprecise - this is an authorization/command-approval bypass (CWE-436, Interpretation Conflict), not a login/authentication bypass - so treat that label with caution. Net: a real, exploitable defense-in-depth failure in an AI coding agent that depends on indirect prompt injection and a permissive auto-approve configuration, warranting prompt patching for teams running Roo Code with allowlisted shell prefixes, but with no evidence of mass or active exploitation. |
| Exploit ScenarioDerived | An attacker plants a hidden instruction in content the Roo Code agent will read - a source file, README, issue, or web page fetched during a task - using indirect prompt injection. The payload issues a shell command whose separators are concealed behind an allowlisted prefix like 'echo' by exploiting escaped or single-quoted double quotes that desynchronize the quote-masking regex in parseCommandLine(). A detailed public technical write-up of the quote-boundary desync exists among the references, making reproduction low-effort; the hidden command then auto-approves and executes without the user's consent. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Command approval bypass in Roo Code through 3.54.0 lets an attacker get denied shell commands auto-approved and executed by the AI coding agent, defeating the allowlist/auto-approve safety control. The flaw lives in parseCommandLine(), where a quote-masking regex can be desynchronized using escaped or single-quoted double quotes so that command separators are hidden behind an allowlisted prefix such as echo; because the agent's auto-approval logic sees only the benign prefix, it runs the trailing command without user confirmation. It is unauthenticated (CVSS PR:N) but requires the victim to have the auto-approve allowlist enabled with permissive prefixes and to run the agent over attacker-controlled content (indirect prompt injection, e.g. a malicious file, repo, issue, or fetched page), so exploitation is conditional rather than remotely triggerable at will; no public exploit code was identified at time of analysis, and the issue is not confirmed actively exploited (CISA KEV). Vendor patch status: no vendor-released patch identified at time of analysis.
RemediationAI
No vendor-released patch was identified at time of analysis, so primary remediation is to stop relying on the vulnerable allowlist logic until Roo Code ships a fix (track the project repository and the VulnCheck advisory at https://www.vulncheck.com/advisories/roo-code-through-3.54.0-auto-approve-bypass-via-quote-masking-desynchronization for a patched release). The most effective compensating control is to disable the auto-approve / command allowlist feature entirely so every shell command requires explicit manual approval - the trade-off is a significant increase in interactive prompts and slower agent workflows. If auto-approve must remain enabled, remove broad prefix allowlist entries such as 'echo' and other shell built-ins or interpreters whose prefixes can be used to mask separators, and prefer narrowly scoped, non-composable commands; this reduces the bypass surface but does not eliminate the underlying parser desynchronization and may still be defeated by other prefix tricks. Treat all content the agent consumes as untrusted input: do not run the agent against untrusted repositories, issues, pasted text, or fetched web pages without review, and require human confirmation before executing any command derived from such content (side effect: reduced automation efficiency). Restrict the agent's execution environment (container, VM, or low-privilege sandbox with no access to credentials or production systems) so that a successful bypass yields limited blast radius rather than full host compromise. Note that the reviewed v3.54.0 parse-command.ts reference confirms the vulnerable code path; any newer build should be verified against the upstream fix before assuming the issue is resolved.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Roo Code is a VS Code AI coding agent that executes shell commands on the user's machine on the user's behalf. Its safety model relies on a command allowlist: when auto-approve is enabled, commands whose prefix matches an allowlisted entry (for example 'echo') are executed without prompting, while everything else requires explicit user approval. CVE-2026-110203 is classified as CWE-436 (Interpretation Conflict): the quote-masking regex in parseCommandLine() (see src/shared/parse-command.ts in Roo-Code v3.54.0, lines around 111-115) and the downstream allowlist-prefix matcher parse the same command line differently. By crafting a payload with escaped or single-quoted double quotes, an attacker desynchronizes those two parsers, so the permission checker evaluates a string that still begins with an allowlisted prefix while the shell actually sees a command separator that opens an additional, non-allowlisted command. This is a classic parser-differential / interpretation-conflict bug rather than a memory-safety issue. The exposure is amplified by the agent's design: it routinely ingests untrusted text (repository contents, issues, tool output, fetched web pages), which is the natural delivery vector for indirect prompt injection that plants the malicious command line. CVSS v4.0 scores it 7.7 with AT:P and UI:P, and the independent assessment maps it to CVSS v3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - high impact if the bypass fires, but gated on configuration, a prompt-injection channel, and user-driven agent execution.
Know when Roo Code gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Delivered remotely via injected content (AV:N), but the parser desync plus permissive-allowlist precondition makes it AC:H; no attacker privileges (PR:N) yet the victim must run the agent on poisoned content (UI:R); unapproved shell execution yields full C/I/A:H.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
Roo Code through 3.54.0 contains a command approval bypass vulnerability that allows attackers to auto-approve denied shell commands by abusing quote-masking regex in parseCommandLine(). Attackers can use indirect prompt injection with escaped or single-quoted double quotes to hide command separators behind allowlisted prefixes like echo, executing commands without user approval.
Executive ViewAI
Roo Code, an AI coding agent, contains a high-severity command approval bypass (CVE-2026-110203) in versions through 3.54.0 that allows unauthenticated attackers to execute denied shell commands on developer workstations when the agent processes attacker-controlled content. This undermines the auto-approve safety control and can lead to compromise of source code, credentials, and the software supply chain, affecting development teams that have permissive allowlist settings enabled. No vendor-released patch identified at time of analysis, and exploitation requires specific configuration and user interaction, but the potential organizational impact is significant.
Disable the auto-approve allowlist and require manual confirmation for all shell commands; restrict agent execution to trusted content only; monitor command execution logs; run the agent in an isolated sandbox or container.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Arbitrary command execution in Roo Code (the open-source AI coding agent) through version 3.54.0 lets attackers slip pas
Roo Code is an AI-powered autonomous coding agent that lives in users' editors. Rated critical severity (CVSS 9.9), this
Roo Code is an AI-powered autonomous coding agent. Prior to 3.22.6, if the victim had "Write" auto-approved, an attacker
Roo Code is an AI-powered autonomous coding agent. The project-specific MCP configuration for the Roo Code agent is stor
Command approval bypass in Roo Code through 3.54.0 allows unauthenticated remote attackers to execute shell commands tha
Command-approval bypass in Roo Code through 3.54.0 lets attacker-influenced input cause the agent to execute arbitrary s
Auto-approval command filtering in Roo Code through 3.54.0 can be bypassed, letting an attacker run commands that should
Roo Code through 3.54.0 can execute shell commands that its command auto-approval allowlist is meant to deny, because ge
Cleartext transmission of OAuth credentials in RooCodeInc Roo-Code up to version 3.51.1 exposes sensitive OAuth tokens t
Path traversal in RooCodeInc Roo-Code through version 3.51.1 allows remote unauthenticated attackers to read and write f
Code injection in RooCodeInc Roo-Code through version 3.51.1 allows remote attackers to execute arbitrary code via the E
Code injection in RooCodeInc Roo-Code up to version 3.51.1 allows a remote low-privileged attacker to execute injected c
EUVD-2026-99244
GHSA-c42p-7mq6-q83w
NVD
CVE.org
EPSS
Exploit-DB