IPBUF安全漏洞报告
English
CVE-2026-30307 CVSS 9.8 严重

CVE-2026-30307 Roo Code远程代码执行漏洞

披露日期: 2026-03-30

漏洞信息

漏洞编号
CVE-2026-30307
漏洞类型
远程代码执行
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Roo Code

相关标签

RCE命令注入Roo CodeCVE-2026-30307LLM安全绕过

漏洞概述

Roo Code的命令自动审批模块存在严重的操作系统命令注入漏洞。由于依赖脆弱的正则表达式解析命令结构,系统无法正确处理Shell命令替换(如`$(...)`和反引号)。攻击者可以利用如`git log --grep="$(malicious_command)"`的命令绕过白名单机制,欺骗系统自动批准执行恶意代码,导致无需用户交互即可实现远程代码执行。

技术细节

该漏洞的核心在于Roo Code的命令自动审批模块使用了脆弱的正则表达式作为白名单校验机制。系统设计初衷是拦截危险操作,但其解析逻辑无法识别标准的Shell命令替换语法,例如`$(...)`和反引号。在Unix/Linux Shell解析过程中,命令替换具有最高优先级。攻击者利用这一特性,可以构造形如`git log --grep="$(malicious_payload)"`的攻击载荷。由于正则表达式仅匹配命令头部(如`git log`),误判该操作为合法的Git指令并予以自动批准。然而,当命令传递到底层Shell执行时,Shell会先解析并执行`$()`内的恶意代码,导致白名单机制完全失效,攻击者无需任何用户交互即可在受害主机上实现远程代码执行(RCE)。

攻击链分析

STEP 1
1. 侦察
攻击者识别目标系统正在使用Roo Code,并确认其启用了命令自动审批功能。
STEP 2
2. 载荷构造
攻击者构造包含Shell命令替换语法(如`$(...)`)的恶意命令,并将其伪装成合法的Git命令(例如`git log`),以绕过正则白名单检查。
STEP 3
3. 欺骗审批
Roo Code的正则表达式解析器仅检查命令头部,误认为该命令是安全的,并通过自动审批机制允许执行。
STEP 4
4. 恶意执行
底层Shell接收到命令后,优先解析并执行参数中的命令替换部分,从而运行攻击者注入的任意代码。
STEP 5
5. 系统沦陷
攻击者成功获取目标系统的远程代码执行权限,可进一步控制主机或窃取数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-30307 # The vulnerability occurs due to improper sanitization of command arguments in Roo Code. # The regex whitelist allows 'git log' but fails to account for shell command substitution. # Example payload exploiting the command substitution via $(...) PAYLOAD="git log --grep=\"\$(whoami)\"" # To verify RCE, one could use a command that creates a file or makes a network request. # Example: touch /tmp/poc_success RCE_PAYLOAD="git log --grep=\"\$(touch /tmp/cve_2026_30307_poc)\"" echo "Payload to inject: $RCE_PAYLOAD" # If sent to the vulnerable Roo Code instance, /tmp/cve_2026_30307_poc will be created.

影响范围

Roo Code (具体受影响版本未在描述中明确披露)

防御指南

临时缓解措施
建议立即禁用Roo Code的命令自动审批模块,改为人工审核所有执行命令。同时,应排查系统日志,确认是否存在利用Git命令参数进行异常操作的记录。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表