Summary
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)
Fixed packages 5
| Release | Package | Fixed in |
|---|---|---|
| Ubuntu · 22.04 LTS 22.04:LTS | python-urllib3 | 1.26.5-1~exp1ubuntu0.8 |
| Ubuntu · 24.04 LTS 24.04:LTS | python-urllib3 | 2.0.7-1ubuntu0.8 |
| Ubuntu · 26.04 LTS 26.04:LTS | python-urllib3 | 2.6.3-1ubuntu1.2 |
| Ubuntu · Pro 18.04 LTS Pro:18.04:LTS | python-urllib3 | 1.22-1ubuntu0.18.04.2+esm5 |
| Ubuntu · Pro 20.04 LTS Pro:20.04:LTS | python-urllib3 | 1.25.8-2ubuntu0.4+esm6 |
Vulnerabilities 3
-
High 8.9
urllib3: HTTPResponse.stream()/read_chunked() buffers an unbounded chunk-size line into memory
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 l…
-
High 7.6
urllib3: HTTPS proxy TLS configuration may be ignored or overridden
urllib3 is an HTTP client library for Python. From 1.26.0 until 2.8.0, the proxy_ssl_context, proxy_assert_hostname, proxy_assert_fingerprint, ssl_context, cert_reqs, verify_mode, use_forwarding_for_https=True, and CERT_NONE configuration paths fail to remain…
-
Medium 6.9
urllib3: Chunked Deflate streaming can enter an infinite loop
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 repeated…