gmx-vmd-mcp VMD Launch Command Injection via File Path Vulnerability Report 漏洞概述 漏洞类型:CNA / Submission Type 漏洞描述:MCP工具(gmx-vmd-mcp)接受用户控制的 和 路径,将其转换为绝对路径并拼接到shell命令字符串中,通过 执行。攻击者可通过构造包含shell元字符的文件名,突破VMD启动命令的限制,实现任意主机命令执行。 技术根因: 1. 工具直接暴露文件系统路径参数。 2. 代码仅检查文件是否存在,未对路径内容进行过滤或转义。 3. macOS和非macOS分支均从路径构建shell字符串。 4. 两个分支均通过 执行该字符串。 影响范围 受影响版本:0.1.0 受影响组件: CVSS v3.1评分:10.0 (Critical) 安全影响: - 机密性:高(可读取主机文件和项目数据) - 完整性:高(可修改主机状态) - 可用性:高(可破坏服务工作流) - 作用域:变更 修复方案 推荐修复: 1. 将VMD调用作为参数数组执行,避免使用shell。 2. 在调用VMD前规范化并验证两个文件路径。 3. 添加回归测试,使用包含特殊字符(如 , , , 反引号, 空格)的文件名。 4. 复用仓库中已有的更安全非shell辅助函数,而非维护单独的shell启动路径。 临时缓解措施: 1. 不要使用 启动VMD。 2. 在调用者提供的文件路径中拒绝shell元字符。 3. 限制服务对本地操作员的信任。 4. 优先使用更安全的 或 风格。 POC代码