engineer-your-data Workspace Boundary Bypass in File Operations Vulnerability Report 漏洞概述 该漏洞属于 CNA / Submission Type,类型为 CVE ID request,由独立安全研究员 wing3e 于 2026年4月10日 提交。 漏洞类型 CWE: CWE-73 (外部控制文件名或路径) 简短描述: 文件工具忽略配置的 边界 受影响版本 确认受影响: 0.1.3 疑似受影响范围: 包含相同请求到 sink 流修订的版本 修复版本: 报告时未提供(2026年4月10日) 漏洞描述 项目文档将 声明为用户数据工作区的目录,但实际文件工具( , , , )不强制执行此边界。它们接受来自调用者的任意路径,直接转换为 并立即操作。这允许攻击者读取或写入服务账户可访问的任何文件,而不仅限于配置的工作区。 技术根因 1. 服务器广告专用工作区根目录 - - 2. README 明确告诉用户配置工作区根目录 - - Claude Desktop 示例设置 为 3. 工具执行将原始 MCP 参数直接传递给注册表实现 - 4. 忽略 并直接打开任意路径 - - 5. 对写入执行相同操作 - - 6. 和 也未受限制 - - 攻击前提条件 能够调用暴露的 MCP 文件工具 服务账户必须对目标读取或写入路径具有权限 没有包装器在文件到达工具注册表之前重写或限制文件路径 概念验证/复现指南 该仓库即使在 设置为不同位置时,也暴露了直接任意读取。 1. 调用真实的 工具: 2. 为什么这会触发: 工具将 转换为 没有代码将路径加入 或检查它是否仍在配置的工作区下 如果文件可读,则直接打开并返回 3. 预期结果: 即使 指向其他地方,也会返回 的内容 通过 存在并行写入原语 安全影响 机密性: 高,因为可以披露任意可读的主机文件 完整性: 高,因为可以创建或覆盖任意可写的主机文件 可用性: 中等,因为任意写入可能会损坏或破坏本地工作流 范围: 未改变 CVSS V3.1 建议 建议向量: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L 建议基本分数: 9.1 (Critical) 变通方法/缓解措施 将 强制作为每个文件导向工具的硬根 使用受限账户运行服务,该账户无法访问敏感主机路径 在添加边界检查之前,在不受信任的部署中禁用文件写入工具 考虑为只读和写入能力路径使用单独的允许列表 推荐修复 针对 解析每个请求路径,并拒绝任何逃逸路径 对 , , , 应用相同的工作区强制执行 添加针对绝对路径、 符号链接转义和 Windows 驱动路径输入的回归测试 更新文档以匹配修补后的实际强制执行行为 参考 仓库: https://github.com/eghuzefa/engineer-your-data-mcp.git 审查源文件: , CWE-73: https://cwe.mitre.org/data/definitions/73.html 信用 发现者: wing3e 发现方法: 静态分析 (CodeQL) 加上仓库源代码审计 表单映射的其他说明 审计结论: 确认漏洞 审查的 SARIF 结果总数: 16 核心问题: 文档化的工作区根模型与不受约束的实现之间的不匹配 动态利用重放状态: PoC 在批次中通过源代码级请求到 sink 分析验证