simple-openstack-mcp OS Command Injection via shell metacharacter bypass #3 漏洞概述 在 项目中, MCP 工具存在操作系统命令注入漏洞。该工具仅检查输入是否以 开头,随后将完整字符串传递给 执行。攻击者可以通过注入 shell 元字符(如 )来执行任意操作系统命令。 技术根因: 1. 中的输入验证仅为前缀检查( ),未对 shell 元字符进行转义或过滤。 2. 中的 方法使用 执行攻击者控制的命令。 3. 执行前未应用任何白名单解析或标记化。 影响范围 受影响组件: , 受影响版本: 确认受影响版本 ;包含相同输入到 sink 流文档的版本均受影响。 安全影响: 机密性: 高(通过任意命令执行读取本地密钥/配置)。 完整性: 高(修改文件或运行时状态)。 可用性: 高(服务中断或破坏性命令执行)。 CVSS 建议: 9.8 (若暴露给非信任调用者)。 修复方案 1. 移除直接执行: 移除对攻击者控制值的直接执行/获取。 2. 使用安全 API: 使用 的参数数组形式(argument arrays)并将 参数设为 ;对出站请求实施严格的 URL 策略检查。 3. 加强认证: 在触及敏感端点之前,实施端点级认证和授权。 4. 其他缓解措施: 限制对脆弱接口的访问(网络 ACL、认证/授权、mTLS);拒绝不受信任的元字符/URL 并实施严格服务器端白名单。 概念验证 (PoC) JSON-RPC 请求: 验证命令:**