漏洞总结:FastGPT DNS Rebinding TOCTOU 绕过导致 SSRF 漏洞概述 FastGPT 的 函数存在 DNS Rebinding(DNS重绑定)TOCTOU(时间检查到使用)漏洞。该函数在发起 HTTP 请求前解析主机名并检查是否为内网 IP,但实际 HTTP 请求是单独调用(如 ),此时 DNS 记录可能已变更,导致攻击者通过 DNS 重绑定绕过内网 IP 检查,实现 SSRF。 > 此漏洞不同于 GHSA-jhqw-944x-xh94(元数据块绕过),本漏洞影响所有调用 的端点。 --- 影响范围 受影响包: (npm) 受影响版本: ≤ 4.14.11 修复版本: 无(截至报告时) CVSS 评分: 6.3/10(中等) CWE: CWE-367 (TOCTOU), CWE-918 (SSRF) 攻击复杂度: 高(需攻击者控制 DNS 服务器) 影响端点: - — HTTP 工具 schema 获取 - — MCP 工具发现 - — MCP 工具执行 - — HTTP 工作流节点 - — 文件读取 URL --- 修复方案 方案 A:DNS 固定(推荐) 在发起 HTTP 请求前解析一次 DNS,并将结果用于后续连接,避免二次解析。 方案 B:使用内置 DNS 固定的安全 HTTP 客户端 类似 的 ,在连接时解析 DNS 并验证 IP。 --- POC 代码 PoC 1: 使用 rndr.us(无需自定义 DNS) PoC 2: 自定义攻击者 DNS 服务器 PoC 3: 验证 TOCTOU 窗口存在 --- 影响 绕过所有内网 IP 检查(不仅是元数据块) 云元数据窃取(通过 DNS 重绑定至 169.254.169.254) 内部网络访问(重绑定至任意内网服务 IP) 影响所有调用 的端点