CVE-2025-66418
urllib3 allows an unbounded number of links in the decompression chain
Impact
## Impact urllib3 supports chained HTTP encoding algorithms for response content according to RFC 9110 (e.g., `Content-Encoding: gzip, zstd`). However, 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. ## Affected usages Applications and libraries using urllib3 version 2.5.0 and earlier for HTTP requests to untrusted sources unless they disable content decoding explicitly. ## Remediation Upgrade to at least urllib3 v2.6.0 in which the library limits the number of links to 5. If upgrading is not immediately possible, use [`preload_content=False`](https://urllib3.readthedocs.io/en/2.5.0/advanced-usage.html#streaming-and-i-o) and ensure that `resp.headers["content-encoding"]` contains a safe number of encodings before reading the response content.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | urllib3 | >= 1.24, < 2.6.0 | 2.6.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Python | Urllib3 | from 1.24 before 2.6.0 |