CVE-2026-97688
published 2026-09-29CVE-2026-97688: urllib3 is an HTTP client library for Python. From 2.6.2 until 2.8.0, HTTPResponse.stream and HTTPResponse.read_chunked can enter an infinite loop because the…
PriorityP429medium5.3CVSS 3.1
AVNACLPRNUINSUCNINAL
EPSS
0.29%
21.5th percentile
urllib3 is an HTTP client library for Python. From 2.6.2 until 2.8.0, HTTPResponse.stream and HTTPResponse.read_chunked can enter an infinite loop because the Deflate decoder retains trailing bytes as unconsumed input after reaching end-of-stream and repeatedly decodes them without progress. The issue occurs when an untrusted server sends a chunked Deflate response whose decoded body exceeds a positive finite chunk size and whose encoded body has trailing bytes, specifically a response with Transfer-Encoding: chunked and Content-Encoding: deflate, content decoding enabled, and the positive finite amt=N streaming chunk size. The attack mechanism is that a malicious server returns a compressed chunked response with trailing bytes after the Deflate stream. The impact is excessive CPU usage and a request that does not complete, and network read timeouts do not interrupt the loop because no further socket read occurs. This issue is fixed in version 2.8.0.
Affected
5 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | python-urllib3 | — | — |
| python | urllib3 | >= 2.6.2 < 2.8.0 | 2.8.0 |
| ubuntu | python-urllib3 | — | — |
| urllib3 | urllib3 | — | — |
| urllib3 | urllib3 | >= 2.6.2 < 2.8.0 | 2.8.0 |
CVSS provenance
nvdv3.15.3MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
nvdv4.06.9MEDIUMCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/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:X
vendor_ubuntu8.1HIGH
vendor_redhat6.9MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Ubuntu
urllib3 vulnerabilities
vendor_ubuntu·2026-10-14·CVSS 8.1
CVE-2026-97688 [HIGH] urllib3 vulnerabilities
Title: urllib3 vulnerabilities
Summary: Several security issues were fixed in urllib3.
Yu-Fu Fu, Seth Larson and Yonatan Magier discovered that urllib3 did not
correctly handle certain certificate validations. An attacker could
possibly use this issue to observe or modify forwarded traffic. This
issue only affected Ubuntu 26.04 LTS. (CVE-2026-97687)
Martin Desrumaux discovered that urllib3 did not correctly handle
decoding certain deflate responses. An attacker could possibly use this
issue to cause a denial of service. This issue only affected
Ubuntu 26.04 LTS. (CVE-2026-97688)
It was discovered that urllib3 did not correctly handle certain memory
operations. An attacker could possibly use this issue to cause a denial
of service. (CVE-2026-97689)
Instructions: In general, a standard
Red Hat
urllib3: urllib3: Denial of Service via infinite loop during chunked Deflate decoding
vendor_redhat·2026-09-29·CVSS 6.9
CVE-2026-97688 [MEDIUM] CWE-835 urllib3: urllib3: Denial of Service via infinite loop during chunked Deflate decoding
urllib3: urllib3: Denial of Service via infinite loop during chunked Deflate decoding
A flaw was found in urllib3. A malicious server can trigger a Denial of Service (DoS) by returning a specially crafted compressed response containing trailing bytes. When streaming the response in chunks, the decompression logic can enter an infinite loop by repeatedly processing unconsumed data without making progress. This issue leads to excessive CPU utilization and prevents the affected network request from completing.
Package: grafana12.4 (Red Hat Hardened Images) - Not affected
Package: grafana13.1 (Red Hat Hardened Images) - Not affected
Package: grafana13.2 (Red Hat Hardened Images) - Not affected
Package: jaeger (Red Hat Hardened Images) - Not affected
Package: llvm21 (Red Hat Hardened Imag
GHSA
urllib3: Chunked Deflate streaming can enter an infinite loop
ghsa·2026-09-30
CVE-2026-97688 [MEDIUM] CWE-835 urllib3: Chunked Deflate streaming can enter an infinite loop
urllib3: Chunked Deflate streaming can enter an infinite loop
### Impact
urllib3's streaming API is designed for the efficient handling of large HTTP responses by reading content in chunks instead of loading the entire response body into memory at once.
urllib3 can decompress response bodies according to the HTTP `Content-Encoding` header. When streaming a compressed, chunked response, urllib3 first consumes data already buffered by the decoder before reading the next HTTP chunk.
However, urllib3 versions from 2.6.2 through 2.7.0 could enter an infinite loop when a chunked response contained bytes after the end of the Deflate stream. If the decompressed body exceeded the requested streaming chunk size, Python's zlib implementation could retain the trailing bytes as unconsumed input aft
No detection rules found.
No public exploits indexed.
2026-09-29
Published