gel-mcp 任意文件读取漏洞总结 漏洞概述 漏洞名称:gel-mcp Arbitrary File Read via Path Traversal CVE ID:CVE-73 漏洞类型:路径遍历(Path Traversal) 严重程度:高危(CVSS v3.1 评分 7.8) 核心问题: 工具中的 函数存在路径遍历漏洞。该函数本意是读取打包好的规则文件,但代码未对输入的 进行严格校验,允许攻击者通过构造包含 的路径,读取服务器本地任意可读文件(如 )。 影响范围 受影响版本:0.1.0 受影响组件: 中的 函数。 利用条件: 1. 攻击者可以调用 MCP 工具。 2. 目标文件对运行 的账户可读。 3. 上游代理或包装器未对文件名进行限制。 安全影响: 机密性:高。攻击者可读取服务账户可访问的任意本地文件。 完整性:无(仅读取)。 可用性:低(重复读取可能暴露元数据,但无直接破坏)。 修复方案 1. 路径规范化:使用 规范化候选路径,并验证其是否仍在 目录下。 2. 限制输入:限制 为有效的基名或允许的列表。 3. 回归测试:添加针对遍历载荷(如 、混合分隔符、绝对路径)的测试。 4. 临时缓解: 不要向不受信任的调用者暴露 ,直到路径验证修复。 优先只使用 返回的名称,并拒绝包含 、 或 的输入。 以最小文件系统权限运行服务。 概念验证 (POC)