CVE intelligence and bounded remediation
CVE-2025-53098 — Roo Code is an AI-powered autonomous coding agent
Roo Code is an AI-powered autonomous coding agent. The project-specific MCP configuration for the Roo Code agent is stored in the `.roo/mcp.json` file within the VS Code workspace. Because the MCP configuration format allows for execution of arbitrary commands, prior to version 3.20.3, it would have been possible for an attacker with access to craft a prompt to ask the agent to write a malicious command to the MCP configuration file. If the user had opted-in to auto-approving file writes within the project, this would have led to arbitrary command execution. This issue is of moderate severity, since it requires the attacker to already be able to submit prompts to the agent (for instance through a prompt injection attack), for the user to have MCP enabled (on by default), and for the user to have enabled auto-approved file writes (off by default). Version 3.20.3 fixes the issue by adding an additional layer of opt-in configuration for auto-approving writing to Roo's configuration files, including all files within the `.roo/` folder.
- Severity
- High
- CVSS
- 8.1 (3.1)
- Published
- 2025-06-27
- CISA KEV
- Not currently listed
- Ecosystem
- software/application
- Weaknesses
- CWE-77
Affected products
- roocode / roo_code
Matched remediation archetype
Command, code, expression, and template injection
This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.
Check exposure
- Trace untrusted values to process execution, interpreters, evaluators, template engines, dynamic imports, and administrative scripting features.
- Determine whether the affected path is reachable across each trust boundary and which service account or host privilege it inherits.
- Review configuration for optional execution features, unsafe compatibility modes, and shell invocation.
Remediate safely
- Replace string-built commands or evaluated code with fixed operations and structured argument APIs that do not invoke a shell.
- Use strict allowlists for operation identifiers and reject unexpected input before it reaches any interpreter.
- Update the affected component and add inert regression tests covering metacharacters, encoding variants, and alternate request paths.
Authoritative sources
Complete CVE record and remediation plan
The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.