Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPlant injected content in agent-read source
-
DeliveryAgent parses allowlisted echo command
-
ExploitparseCommandLine misreads ${ cmd; } as param expansion
-
ExecutionApproval gate bypassed
-
PersistShell executes embedded denied command
-
ImpactArbitrary code execution on developer 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 three concrete conditions drawn from the description: (1) the victim's environment uses bash 5.3+ or ksh93, because only those shells interpret the ${ command; } function-substitution (funsub) syntax that parseCommandLine() misparses as a parameter expansion; (2) Roo Code's auto-approve/allowlist feature must permit at least one command (e.g., echo) into which the denied command is embedded; and (3) the user must engage the agent on attacker-controlled content so the indirect prompt injection reaches the command parser (UI:P). Limiting factors: environments on older bash (<5.3) or non-ksh93 shells are not vulnerable to this specific funsub misparse, and no auto-approved allowlisted command means the injected command still hits the approval prompt. No authentication to a remote service is needed (PR:N), but the per-host shell-version dependency (AT:P) meaningfully narrows the exploitable population. |
| Impact | This is a moderate-to-high priority issue in a specific context rather than a mass-exploitation emergency. The CVSS 4.0 base score is 7.7 with vector AV:N/AC:L/AT:P/PR:N/UI:P and full high impact to confidentiality, integrity, and availability (VC:H/VI:H/VA:H), reflecting that a successful bypass yields arbitrary shell command execution on the developer's host. Two metrics temper the raw score: AT:P (the attack has a precondition - the victim must be running bash 5.3+ or ksh93, the shells whose funsub/${ command; } handling the parser misinterprets) and UI:P (the victim must be actively using Roo Code on attacker-influenced content). It is NOT in CISA KEV, so there is no confirmed active exploitation. No EPSS score was supplied in the input, so probabilistic exploitation likelihood could not be weighed. A public technical writeup exists (the oss-cve 'funsub' markdown and the VulnCheck advisory), which documents the exact vulnerable code lines, so the barrier to reproduction is low even though no weaponized in-the-wild tooling is confirmed. SIGNAL CONFLICT TO NOTE: the input Tag labels this 'Authentication Bypass,' but the description and CWE-436 (Interpretation Conflict) describe a command-approval/allowlist bypass, not credential authentication bypass - treat the tag with caution. Net: a realistic risk for organizations running Roo Code with auto-approve allowlists on modern bash/ksh93, but gated by the shell-version requirement and the need for the user to process attacker-controlled content. |
| Exploit ScenarioDerived | An attacker plants indirect prompt-injection content (e.g., in a repository file, issue, web page, or documentation the AI agent reads) that instructs Roo Code to run an allowlisted command such as echo with a denied command embedded as a ${ rm -rf ...; } function-substitution. Because parseCommandLine() misclassifies the funsub as a harmless parameter expansion, the approval gate passes and the embedded command executes on bash 5.3+ or ksh93 without user approval. A public technical writeup demonstrating the parser flaw exists, lowering the effort to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Command approval bypass in Roo Code through 3.54.0 allows unauthenticated remote attackers to execute shell commands that the user or policy has denied, using indirect prompt injection to hide a denied command inside an allowlisted command such as echo. Exploitation is constrained: the host must use bash 5.3+ or ksh93 for the ${ command; } function-substitution syntax to be misread by parseCommandLine(), and Roo Code's auto-approve feature must already permit at least one command that can carry the injected payload. No CISA KEV listing and no public exploit identified at time of analysis; this is a context-dependent moderate-to-high priority issue rather than a mass-exploitation emergency, and it requires user interaction with attacker-controlled content.
RemediationAI
No vendor-released patch identified at time of analysis; no exact fix version appears in the provided data, so treat Roo Code through 3.54.0 as affected and monitor the VulnCheck advisory at https://www.vulncheck.com/advisories/roo-code-through-3.54.0-auto-approve-bypass-via-funsub-command-substitution for an updated release, then upgrade to the first patched version once published. Until then, the most effective control is to disable auto-approve for shell commands or remove allowlist entries that can carry embedded substitutions, especially echo and similar simple commands, accepting that this reduces agent convenience and forces manual approval of every command. Also avoid pointing the agent at untrusted content with auto-run enabled, and review allowlist parsing rules for ${ command; } funsub syntax; switching hosts away from bash 5.3+ or ksh93 may avoid this specific misparse but is a fragile workaround with compatibility trade-offs.
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 an AI coding agent that uses a command parser in src/shared/parse-command.ts to decide whether a requested shell command is allowlisted or requires user approval. The flaw is an interpretation conflict (CWE-436): on shells that implement function substitution, specifically bash 5.3+ and ksh93, the syntax ${ command; } executes the command, but parseCommandLine() treats it as an ordinary parameter expansion, so the allowlist check sees only the outer allowlisted command (for example echo) and misses the embedded denied command. The published CVSS 4.0 vector is AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H, and the independent assessment is CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H; both agree that no authentication is needed but that the attack depends on a per-host shell-version prerequisite and user interaction. The vulnerable parsing logic is shown at v3.54.0 lines 74-79, and the VulnCheck advisory describes this as an auto-approve bypass via funsub command substitution.
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
AV:N (injected via remote content) but AC:H because success depends on the host running bash 5.3+/ksh93; PR:N (no auth), UI:R (user must run the agent), full CIA from arbitrary command execution.
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 run denied shell commands because parseCommandLine() treats ${ command; } substitutions as parameter expansions. Attackers using indirect prompt injection can embed denied commands inside an allowlisted command like echo to execute them without user approval on bash 5.3+ or ksh93.
Executive ViewAI
Roo Code versions up to 3.54.0 contain a command approval bypass that could allow remote attackers to execute shell commands that users or policies have denied, potentially leading to unauthorized actions on affected developer workstations. Organizations using Roo Code for AI-assisted coding or automation are at risk, though exploitation requires specific conditions such as bash 5.3+ or ksh93 and the auto-approve feature enabling an allowlisted command. There is no public exploit identified at time of analysis and no CISA KEV listing, but the lack of a vendor patch elevates the urgency for mitigation.
Disable the auto-approve feature or restrict it to a trusted allowlist; use bash versions below 5.3 or avoid ksh93; enforce least privilege for shell execution; provide user training on prompt injection risks; monitor for anomalous command executions.
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 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
Command approval bypass in Roo Code through 3.54.0 lets an attacker get denied shell commands auto-approved and executed
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-99245
GHSA-mfc9-vhw7-f5w9
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB