browser-tools-mcp OS Command Injection Vulnerability #232 漏洞概述 漏洞类型:OS命令注入(CWE-78) 发现者:wing3e(独立安全研究员) 报告日期:2026年4月2日 受影响产品:AgentDeskAI / browser-tools-mcp 漏洞描述: - 输入处理缺陷允许攻击者控制的文件路径数据被插值到执行AppleScript的shell命令中。 - 服务器通过HTTP/WebSocket通道接受不受信任的数据,构建包含攻击者控制文件路径内容的AppleScript字符串,然后执行: osascript -e '${appleScript}'\ - 在macOS部署中,如果启用了autoPaste且截图流可达,可导致任意OS命令执行。 影响范围 受影响版本:1.2.0(browser-tools-server/package.json) 受影响组件:browser-tools-server/browser-connector.ts CVSS评分:9.8(Critical) 安全影响: - 机密性:高(攻击者可执行本地命令并读取敏感文件) - 完整性:高(攻击者可修改文件/配置) - 可用性:高(攻击者可终止服务或消耗资源) - 范围:未改变 修复方案 临时缓解措施: - 在生产环境中禁用autoPaste功能 - 将服务绑定到localhost(SERVER_HOST=127.0.0.1) - 严格验证和规范化从外部通道接收的任何路径 - 拒绝单引号(')和shell元字符在路径相关输入中 - 为HTTP和WebSocket接口添加身份验证/授权 推荐修复: - 使用spawn/execFile替换exec,并传递不带shell插值的参数 - 避免在shell引用的命令字符串中包装动态AppleScript内容 - 在嵌入AppleScript源之前对不受信任的值进行escape编码 - 为截图响应要求相关性(requestId),并拒绝未请求的WebSocket有效负载 - 为路径和设置中的引号/元字符有效负载添加回归测试 POC代码