OS命令注入漏洞总结 (@burthecoder/mcp-dnstwist #22) 漏洞概述 漏洞类型:OS命令注入 (CWE-78) 受影响组件: 中的 MCP 工具 根本原因:工具接受用户控制的参数(如 ),将其拼接成 shell 命令字符串(使用 ),并通过 执行。攻击者可通过注入 shell 元字符(如 )执行任意操作系统命令。 影响范围 受影响版本:1.0.4 严重性:高 (CVSS v3.1 基础评分 9.8) 影响: 机密性:高(攻击者可读取服务器文件和环境数据) 完整性:高(攻击者可修改文件或执行进一步载荷) 可用性:高(攻击者可终止进程、删除数据或耗尽资源) 修复方案 1. 替换执行方式:使用 或 替代 ,并设置 。 2. 构建参数数组:将 Docker 参数构建为数组(例如 ),而不是拼接成字符串。 3. 严格校验:对 实施严格的白名单验证(如逗号分隔的 IP 地址或受信任的 DNS 服务器主机名),并拒绝包含元字符的值。 4. 回归测试**:添加测试用例,确保注入值(如 )被作为字面参数传递或被拒绝。 POC 代码