CVE-2025-66418 urllib3 allows an unbounded number of links in the decompression chain
A malicious server can cause high CPU and memory usage in urllib3 by sending an unbounded decompression chain, leading to denial of service.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-66418?
CVE-2025-66418 is a high-severity denial of service vulnerability in urllib3, published on 5 Dec 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
urllib3 is a user-friendly HTTP client library for Python. Starting in version 1.24 and prior to 2.6.0, the number of links in the decompression chain was unbounded allowing a malicious server to insert a virtually unlimited number of compression steps leading to high CPU usage and massive memory allocation for the decompressed data. This vulnerability is fixed in 2.6.0.
Weakness: CWE-770
Which versions are affected by CVE-2025-66418?
3 open source packages ship an affected version, including urllib3. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
urllib3 PyPI | From 1.24 | 2.6.0 |
urllib3 PyPI | From 1.24 | 2.6.0 |
urllib3 PyPI | From 1.24 | 2.6.0 |
Linux distribution packages (37)
python-s3transfer Red Hat:enterprise_linux:7::server | All versions | 0:0.1.13-1.el7_9.3 |
resource-agents Red Hat:enterprise_linux:7::server | All versions | 0:4.1.1-61.el7_9.21 |
resource-agents-aliyun Red Hat:enterprise_linux:7::server | All versions | 0:4.1.1-61.el7_9.21 |
resource-agents-debuginfo Red Hat:enterprise_linux:7::server | All versions | 0:4.1.1-61.el7_9.21 |
resource-agents-gcp Red Hat:enterprise_linux:7::server | All versions | 0:4.1.1-61.el7_9.21 |
fence-agents Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-aliyun-debuginfo Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-all Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-amt-ws Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-apc Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-apc-snmp Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-bladecenter Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-brocade Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-cisco-mds Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-cisco-ucs Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-common Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-compute Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-debuginfo Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-debugsource Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-drac5 Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-eaton-snmp Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-emerson Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-eps Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-heuristics-ping Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-hpblade Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-ibm-powervs Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-ibm-vpc Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-ibmblade Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-ifmib Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-ilo-moonshot Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-ilo-mp Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-ilo-ssh Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-ilo2 Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-intelmodular Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-ipdu Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-ipmilan Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
fence-agents-kdump Red Hat:rhel_aus:8.4::appstream | All versions | 0:4.2.1-65.el8_4.24 |
Products include Python Urllib3.
How do I fix CVE-2025-66418?
Upgrade urllib3 to 2.6.0 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2025-66418 being exploited?
There is no known exploitation of CVE-2025-66418 in the wild and no public exploit code.
Other vulnerabilities in urllib3
- CVE-2026-97689 urllib3: HTTPResponse.stream()/read_chunked() buffers an unbounded chunk-size line into memory
- CVE-2026-44432 urllib3: Decompression-bomb safeguards bypassed in parts of the streaming API
- CVE-2026-21441 urllib3 vulnerable to decompression-bomb safeguard bypass when following HTTP redirects (streaming API)
- CVE-2025-66471 urllib3 Streaming API improperly handles highly compressed data
- CVE-2026-44431 urllib3: Sensitive headers forwarded across origins in proxied low-level redirects
Sources
Also known as ALPINE-CVE-2025-66418, AZL-71834, AZL-71846, BELL-CVE-2025-66418, CLEANSTART-2026-GI63491, DEBIAN-CVE-2025-66418 and 40 more.