漏洞概述 标题: SSRF guard allows shared-address-space targets in pathsec.urlopen in nltk/nltk CVE: CVE-2026-12372 漏洞类型: CWE-918: Server-Side Request Forgery (SSRF) 严重程度: 低 (1.7) 描述: 旨在通过解析主机名并拒绝内部网络地址来防止 SSRF。当前检查拒绝 、 、 和 地址,但它不拒绝 RFC 6598 共享地址空间( )中的 IP。 Python 的 模块报告地址如 既不是 也不是 。因为当前守卫只检查 和一些显式类别, 在 时被接受。 这是预期 SSRF 策略中的一个漏洞,因为共享地址空间主机不是全球可路由的公共互联网目标,并且可能暴露内部运营商级 NAT 或服务提供商基础设施,这些基础设施来自使用 NLTK 的服务器端管道的环境。 影响范围 受影响版本: 3.9.4 和当前开发版本 可见性: 公开 状态: 等待修复 披露奖金: $10 修复奖金: $25 发现者: optimystical 影响: 攻击者如果影响传递给 NLTK 的网络加载助手的 URL,可以使严格模式应用程序向共享地址空间主机发送请求。在受影响的部署中,这可能允许探测或检索从应用程序主机可达的非公共基础设施。影响限于 SSRF 风格的机密性暴露,未声称代码执行。 修复方案 修复状态: 等待修复 修复方法: 提交的 PR 通过拒绝解析的 IP 地址,其中 为 ,并添加针对 的回归测试来修复此问题。 POC 代码 预期: URL 被拒绝为非公共网络目标。 实际: 在补丁之前的当前开发中,URL 被允许。 参考 GitHub Pull Request