CVE-2026-97688
urllib3: Chunked Deflate streaming can enter an infinite loop
No exploitation reported by the sources we read.
- Published2026-09-29
- Fixed in2.8.0
- WeaknessCWE-835
Am I affected?
Debian, Ubuntu or Red Hat sometimes backport a fix without changing the upstream version number: such a version reads « to verify », never « affected ».With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.
Description
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.
Timeline
dates in UTC- 2026-09-2916:17CVE publishedNVD
Observed activity
isMalicious corpus · updated 2026-10-23 15:37 UTCBlock these indicators
- Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2026-97688?format=txt
- CSV export: https://api.ismalicious.com/edl/cve/CVE-2026-97688?format=csv
- TAXII collection of exploited CVEs
- The EDL and CSV take an API key on the Pro plan.
Versions per branch
NVD · OSV| Branch | Affected | Fixed in | Source |
|---|---|---|---|
| 2.x | ≥ 2.6.2, < 2.8.0 | 2.8.0 | NVD · OSV |
as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.
Distribution builds and vendor advisories
Packages from OSV.dev and products from the vendors' CSAF advisories.
version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.
Vendor advisories
urllib3: urllib3: Denial of Service via infinite loop during chunked Deflate decoding
Red Hat Security Advisory: Red Hat AI Inference 3.4.6 (rocm)
Red Hat Security Advisory: Red Hat AI Inference 3.4.6 (cuda)
Red Hat Security Advisory: Red Hat AI Inference Model Optimization Tools 3.4.6 (cuda)
Red Hat Security Advisory: Red Hat AI Inference 3.4.6 (spyre)
Red Hat Security Advisory: Red Hat AI Inference 3.4.6 (cpu)
6 more advisories
Fix
- Update Python urllib3 to 2.8.0
- Vendor fix Red Hat Product Security RHSA-2026:83121 · 1 productFor more information visit https://access.redhat.com/errata/RHSA-2026:83121
- Vendor fix Red Hat Product Security RHSA-2026:83120 · 2 productsFor more information visit https://access.redhat.com/errata/RHSA-2026:83120
- Vendor fix Red Hat Product Security RHSA-2026:83116 · 2 productsFor more information visit https://access.redhat.com/errata/RHSA-2026:83116
- Vendor fix Red Hat Product Security RHSA-2026:83114 · 3 productsFor more information visit https://access.redhat.com/errata/RHSA-2026:83114
- Vendor fix Red Hat Product Security RHSA-2026:83112 · 1 productFor more information visit https://access.redhat.com/errata/RHSA-2026:83112
- Vendor fix Red Hat Product Security RHSA-2026:82415 · 1 productFor more information visit https://access.redhat.com/errata/RHSA-2026:82415
Advisories and patches
- github.comPatch
- github.comRelease Notes
- github.comMitigation · Vendor Advisory
Detection
- Nuclei template
- none so far ProjectDiscovery
- Exploit-DB
- no entry Exploit-DB
- Proof-of-concept repositories
- none listed PoC-in-GitHub
Sources
Technical details
- CVSS v3 Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- CVSS 4.0 vector
- CVSS: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
- Published
- 2026-09-29
- Last Modified
- 2026-10-13
- NVD status
- Analyzed
Frequently asked questions
What is CVE-2026-97688?
Is CVE-2026-97688 actively exploited?
What is the CVSS score for CVE-2026-97688?
Running urllib3? Hear about its next vulnerability
Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».
No credit card required · No monthly cap on website lookups · 250 API requests/month
Go further
- Following what attackers exploit right now? The CISA KEV additions of the month, with their patch deadlines.
- Running this software? Vulnerability monitoring alerts you to new vulnerabilities in your products.
Related vulnerabilities
Same product first, then the same vendor advisory and the same publication week.
- CVE-2019-11236same product
- CVE-2024-37891same product
- CVE-2025-50181same product
- CVE-2025-50182same product
- CVE-2026-44431same product
- CVE-2026-97689same producturllib3: HTTPResponse.stream()/read_chunked() buffers an unbounded chunk-size line into memory
- CVE-2026-97687same producturllib3: HTTPS proxy TLS configuration may be ignored or overridden
- CVE-2026-37237same advisory