aider-mcp-server OS Command Injection Vulnerability #16 漏洞总结 漏洞概述 漏洞类型:OS命令注入 (CWE-78) 漏洞组件: MCP工具 漏洞原因: 参数未经验证和转义,直接拼接到shell命令中执行 影响版本:0.1.0及所有使用未过滤文件名构建git diff命令的版本 CVSS评分:10.0 (Critical) 影响范围 机密性:高 - 可执行任意命令读取仓库密钥、SSH密钥等 完整性:高 - 可修改源代码、写入持久化文件、篡改构建脚本 可用性:高 - 可删除文件、耗尽资源、崩溃服务 攻击条件:无需认证,通过MCP协议即可利用 修复方案 1. 替换shell执行方式:使用参数数组而非字符串拼接 2. 文件名验证:拒绝包含shell元字符的文件名,确保路径在仓库根目录内 3. 回归测试:添加覆盖payload的测试用例 POC代码 技术细节 漏洞位置: 攻击向量:通过 参数注入shell命令 利用方式:在文件名中使用 或 等shell元字符执行额外命令