漏洞总结:docker-mcp-server 命令注入漏洞 1. 漏洞概述 在 项目的 组件中发现了命令注入漏洞(CVE-78)。 漏洞原理:多个 MCP 工具处理器(包括 , , , )直接使用未 sanitization(未过滤/转义)的攻击者控制输入(如容器名称或镜像名称),并通过 执行 shell 命令。 攻击路径:攻击者可以通过 MCP/HTTP 接口提供包含 shell 字符(如 )的恶意输入,从而获得与 相同的权限,导致主机完全被攻破、数据泄露或服务中断。 CVSS 评分:建议评分为 10.0 (Critical),向量为 。 2. 影响范围 受影响产品: 受影响组件: 确认受影响版本: (version declared in local dataset) 修复版本: 报告发布时(2026年3月15日)尚未提供。 3. 概念验证 (POC) 以下是用于复现漏洞的 JSON-RPC 请求示例: 注:攻击者可以将 参数修改为包含 shell 命令注入的字符串(例如 ),因为用户提供的字段被未转义地拼接到了 shell 命令中。 4. 修复方案与缓解措施 消除直接请求到 sink 数据流:移除请求处理代码路径中的 shell 风格自由形式执行(shell-style free-form execution)。 使用白名单与严格参数:优先使用带有固定命令白名单和严格参数架构的直接执行(prefer direct execution with a fixed allowlist of commands and a strict argument schema)。 输入验证:在 MCP 或 HTTP 参数进入应用程序的边界处引入模式验证(schema validation),确保攻击者控制的值无法到达执行 sink。 安全加固:添加身份验证、授权、审计日志,并对敏感 MCP/HTTP 端点进行速率限制。 回归测试:添加测试以证明攻击者控制的值无法到达执行 sink 或任意出站连接。