What’s Vulnerable › Vulnerabilities
CVE-2026-97689: urllib3: HTTPResponse.stream()/read_chunked() buffers an unbounded chunk-size line into memory
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-09-29 · updated 2026-10-13
- Weakness: CWE-770
Description
urllib3 is an HTTP client library for Python. From 1.10.3 until 2.8.0, the HTTPResponse.read_chunked and HTTPResponse.stream methods can allocate unbounded memory because the streaming chunk parser buffers the chunk-size field until newline or EOF without a length bound. The trigger is that a malicious server returns Transfer-Encoding: chunked followed by a very long run of bytes without a newline. The attack mechanism is that a malicious HTTP server sends a very long unterminated chunk-size line. The impact is that unbounded memory allocation can exhaust the client process. This issue is fixed in version 2.8.0.
Affected products
- urllib3: from 1.10.3 before 2.8.0 — fixed in 2.8.0
- Pypi Urllib3: from 1.10.3 before 2.8.0; 1.10.3, 1.10.4, 1.11, 1.12, 1.13, 1.13.1 (+76) — fixed in 2.8.0
How to fix
Upgrade to a fixed version: urllib3 2.8.0; Pypi Urllib3 2.8.0. Check the vendor advisory for mitigations.
References
- https://github.com/urllib3/urllib3/commit/cd770b059b543be29298ea5c52afb0b1b090f5ed
- https://github.com/urllib3/urllib3/releases/tag/2.8.0
- https://github.com/urllib3/urllib3/security/advisories/GHSA-vxq7-64xx-v4gw
Get alerted when CVE-2026-97689 or the next vulnerability affects your stack