Summary
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, 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.
Impact
This vulnerability is high complexity 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), but also of high severity since it would give the attacker the ability to execute arbitrary code.
Remediation
We added an additional layer of opt-in configuration for auto-approving writing to Roo's configuration files, including all files within the .roo/
folder.
Summary
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, 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.Impact
This vulnerability is high complexity 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), but also of high severity since it would give the attacker the ability to execute arbitrary code.
Remediation
We added an additional layer of opt-in configuration for auto-approving writing to Roo's configuration files, including all files within the
.roo/
folder.