漏洞总结:hwpx-mcp-server 任意文件写入漏洞 漏洞概述 漏洞名称:hwpx-mcp-server 任意文件写入漏洞 (CVE ID Request) 漏洞类型:CWE-73 (外部对文件名或路径的控制) 受影响组件: 漏洞描述:在 版本 0.2.0 中, 、 和 工具接受用户控制的 参数,并在写入文件前未验证目标路径是否位于安全的工作区目录内。攻击者可通过网络访问 MCP 接口,创建或覆盖服务器进程可写的任意位置文件,导致完整性丢失、配置损坏或服务拒绝。 影响范围 受影响版本:0.2.0 受影响 Commit: 攻击前提: 1. 攻击者可通过配置的 MCP 客户端、MCP Inspector 或其他客户端调用 MCP 服务器工具。 2. MCP 服务器进程对攻击者选择的目标路径具有文件系统写入权限。 3. 不存在外部沙箱、容器策略或操作系统级访问控制阻止写入。 修复方案 1. 路径规范化:使用 或等效方法规范化用户提供的路径,并强制所有输出路径保持在显式配置的工作区目录内。 2. 拒绝危险路径:拒绝绝对路径、父目录遍历、符号链接、设备路径及其他特殊文件系统目标,除非明确意图并经过授权。 3. 白名单目录:为 、 和 添加基于白名单的输出目录。 4. 输入输出一致性:对 和 等输入路径应用相同的安全策略。 5. 回归测试:添加回归测试,证明 MCP 控制的路径无法读取或写入配置工作区之外的位置。 POC 代码 1. 创建新文档 2. 使用返回的 doc_id 将文档保存到攻击者控制的路径 3. 验证 确认 由 MCP 服务器进程创建。 使用其他任何服务器进程可写的路径重复上述步骤,以确认 未限制在安全文档目录中。