8.9High

CVE-2026-97689urllib3: HTTPResponse.stream()/read_chunked() buffers an unbounded chunk-size line into memory

urllib3 urllib3 Published: (1 month ago)

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.

Weakness (CWE): CWE-770

Data: CVE.org, NVD, CISA KEV, FIRST EPSS, Ubuntu. Published as the sources state it, in English.

Affected products and versions

VendorProductVersions
python urllib3 1.10.3 – < 2.8.0
urllib3 urllib3 >= 1.10.3, < 2.8.0

References and patches

CPE matches (NVD) (1)

  • cpe:2.3:a:python:urllib3:*:*:*:*:*:*:*:* ≥ 1.10.3 < 2.8.0