漏洞总结:Cloud metadata endpoint SSRF protection bypass 漏洞概述 FastGPT 的 函数在 中试图通过 检查来阻止对云元数据端点的访问。然而,该检查存在缺陷,攻击者可以通过 7种不同的URL编码技术 绕过此黑名单机制,直接访问云元数据服务。 此外,更广泛的私有IP检查( / )默认被禁用(因为 默认为 ),导致这些绕过手段无需任何额外验证即可到达元数据端点。 影响范围 受影响组件: (行 145-148) 受影响版本: (npm) 所有7种方法都利用了 检查: 保留了端口/编码,而黑名单只包含 (无端口,标准点分十进制格式)。 根本原因 函数使用精确前缀匹配 ( ) 对序列化URL进行检查,而不是解析主机名并检查IP地址。这是一个经典的URL解析器差异/SSRF绕过模式 (CWE-918)。现有的私有IP检查 ( / ) 会捕获其中一些,但它被门控在 条件下,而该条件默认是 ,意味着默认跳过检查。 修复方案 选项A:在检查前将主机名解析为IP(推荐) 选项B:在黑名单检查前规范化主机名 选项C:默认启用 CHECK_INTERNAL_IP 更改 为 ,以便默认启用私有IP检查。这本身不能修复元数据黑名单绕过,但提供纵深防御。 参考 CWE-918: Server-Side Request Forgery (SSRF) OWASP SSRF Prevention Cheat Sheet: URL validation must resolve hostname before checking FastGPT :