CVE-2026-97689
高已发布
urllib3:HTTPResponse.stream()/read_chunked() 将无界的 chunk-size 行缓冲到内存中
- 已发布
- 2026年9月29日
- 已更新
- 2026年9月29日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年10月7日
初级CVSS
8.9/ 10高
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X0.3%
低 · 未来 30 天
- 百分位
- 26.6%
- 型号日期
- 2026年10月25日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
urllib3 是一个用于 Python 的 HTTP 客户端库。从 1.10.3 到 2.8.0 版本,HTTPResponse.read_chunked 和 HTTPResponse.stream 方法可能会分配无界内存,因为流式分块解析器会缓冲 chunk-size 字段,直到遇到换行符或 EOF,而没有长度限制。触发条件是恶意服务器返回 Transfer-Encoding: chunked,随后跟一长串没有换行符的字节。攻击机制是恶意 HTTP 服务器发送一行非常长的、未终止的 chunk-size。其影响是无界内存分配可能耗尽客户端进程。此问题已在 2.8.0 版本中修复。
来源
针对已发布的 urllib3 问题的补丁差异研究:固定版本、原始离线测试框架、前后行为及良性对照。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。