cbcvebase.

Python Urllib3 vulnerabilities

22 known vulnerabilities affecting python/urllib3.

Total CVEs
22
CISA KEV
0
Public exploits
0
Exploited in wild
0
Severity breakdown
CRITICAL1HIGH10MEDIUM10LOW1

Vulnerabilities

Page 1 of 2
CVE-2018-20060P3CRITICALCVSS 9.8fixed in 1.232018-12-11
CVE-2018-20060 [CRITICAL] CVE-2018-20060: urllib3 before version 1.23 does not remove the Authorization HTTP header when following a cross-ori urllib3 before version 1.23 does not remove the Authorization HTTP header when following a cross-origin redirect (i.e., a redirect that differs in host, port, or scheme). This can allow for credentials in the Authorization header to be exposed to unintended hosts or transmitted in cleartext.
nvd
CVE-2026-21441P3HIGHCVSS 7.5≥ 1.22, < 2.6.32026-01-07
CVE-2026-21441 [HIGH] CWE-409 CVE-2026-21441: urllib3 is an HTTP client library for Python. urllib3's streaming API is designed for the efficient urllib3 is an HTTP client library for Python. urllib3's streaming API is designed for the efficient handling of large HTTP responses by reading the content in chunks, rather than loading the entire response body into memory at once. urllib3 can perform decoding or decompression based on the HTTP `Content-Encoding` header (e.g., `gzip`, `deflate`, `br`,
nvd
CVE-2026-97687P3HIGHCVSS 8.1≥ 1.26.0, < 2.8.02026-09-29
CVE-2026-97687 [HIGH] CWE-295 CVE-2026-97687: urllib3 is an HTTP client library for Python. From 1.26.0 until 2.8.0, the proxy_ssl_context, proxy_ 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 separated because target-server TLS settings are incorrectly applied to the HTTPS proxy conne
nvd
CVE-2026-44432P3HIGHCVSS 7.5≥ 2.6.0, < 2.7.02026-05-13
CVE-2026-44432 [HIGH] CWE-409 CVE-2026-44432: urllib3 is an HTTP client library for Python. From 2.6.0 to before 2.7.0, urllib3 could decompress t urllib3 is an HTTP client library for Python. From 2.6.0 to before 2.7.0, urllib3 could decompress the whole response instead of the requested portion (1) during the second HTTPResponse.read(amt=N) call when the response was decompressed using the official Brotli library or (2) when HTTPResponse.drain_conn() was called after the response had been read
nvd
CVE-2023-43804P3HIGHCVSS 8.1fixed in 1.26.17≥ 2.0.0, < 2.0.62023-10-04
CVE-2023-43804 [HIGH] CWE-200 CVE-2023-43804: urllib3 is a user-friendly HTTP client library for Python. urllib3 doesn't treat the `Cookie` HTTP h urllib3 is a user-friendly HTTP client library for Python. urllib3 doesn't treat the `Cookie` HTTP header special or provide any helpers for managing cookies over HTTP, that is the responsibility of the user. However, it is possible for a user to specify a `Cookie` header and unknowingly leak information via HTTP redirects to a different origin if tha
nvd
CVE-2025-66471P3HIGHCVSS 7.5≥ 1.0, < 2.6.02025-12-05
CVE-2025-66471 [HIGH] CWE-409 CVE-2025-66471: urllib3 is a user-friendly HTTP client library for Python. Starting in version 1.0 and prior to 2.6. urllib3 is a user-friendly HTTP client library for Python. Starting in version 1.0 and prior to 2.6.0, the Streaming API improperly handles highly compressed data. urllib3's streaming API is designed for the efficient handling of large HTTP responses by reading the content in chunks, rather than loading the entire response body into memory at once. Wh
nvd
CVE-2025-66418P3HIGHCVSS 7.5≥ 1.24, < 2.6.02025-12-05
CVE-2025-66418 [HIGH] CWE-770 CVE-2025-66418: urllib3 is a user-friendly HTTP client library for Python. Starting in version 1.24 and prior to 2.6 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 vulnerabilit
nvd
CVE-2026-97689P3HIGHCVSS 7.5≥ 1.10.3, < 2.8.02026-09-29
CVE-2026-97689 [HIGH] CWE-770 CVE-2026-97689: urllib3 is an HTTP client library for Python. From 1.10.3 until 2.8.0, the HTTPResponse.read_chunked 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 length bound. The trigger is that a malicious server returns Transfer-Encoding: chunked followe
nvd
CVE-2020-7212P3HIGHCVSS 7.5≥ 1.25.2, ≤ 1.25.72020-03-06
CVE-2020-7212 [HIGH] CWE-400 CVE-2020-7212: The _encode_invalid_chars function in util/url.py in the urllib3 library 1.25.2 through 1.25.7 for P The _encode_invalid_chars function in util/url.py in the urllib3 library 1.25.2 through 1.25.7 for Python allows a denial of service (CPU consumption) because of an inefficient algorithm. The percent_encodings array contains all matches of percent encodings. It is not deduplicated. For a URL of length N, the size of percent_encodings may be up to O(N).
nvd
CVE-2021-33503P3HIGHCVSS 7.5≥ 1.25.4, < 1.26.52021-06-29
CVE-2021-33503 [HIGH] CWE-400 CVE-2021-33503: An issue was discovered in urllib3 before 1.26.5. When provided with a URL containing many @ charact An issue was discovered in urllib3 before 1.26.5. When provided with a URL containing many @ characters in the authority component, the authority regular expression exhibits catastrophic backtracking, causing a denial of service if a URL were passed as a parameter or redirected to via an HTTP redirect.
nvd
CVE-2019-11324P3HIGHCVSS 7.5fixed in 1.24.22019-04-18
CVE-2019-11324 [HIGH] CWE-295 CVE-2019-11324: The urllib3 library before 1.24.2 for Python mishandles certain cases where the desired set of CA ce The urllib3 library before 1.24.2 for Python mishandles certain cases where the desired set of CA certificates is different from the OS store of CA certificates, which results in SSL connections succeeding in situations where a verification failure is the correct outcome. This is related to use of the ssl_context, ca_certs, or ca_certs_dir argument.
nvd
CVE-2024-37891P3MEDIUMCVSS 6.5fixed in 1.26.19≥ 2.0.0, < 2.2.22024-06-17
CVE-2024-37891 [MEDIUM] CWE-669 CVE-2024-37891: urllib3 is a user-friendly HTTP client library for Python. When using urllib3's proxy support with urllib3 is a user-friendly HTTP client library for Python. When using urllib3's proxy support with `ProxyManager`, the `Proxy-Authorization` header is only sent to the configured proxy, as expected. However, when sending HTTP requests *without* using urllib3's proxy support, it's possible to accidentally configure the `Proxy-Authorization` header even
nvd
CVE-2020-26137P3MEDIUMCVSS 6.5fixed in 1.25.92020-09-30
CVE-2020-26137 [MEDIUM] CVE-2020-26137: urllib3 before 1.25.9 allows CRLF injection if the attacker controls the HTTP request method, as dem urllib3 before 1.25.9 allows CRLF injection if the attacker controls the HTTP request method, as demonstrated by inserting CR and LF control characters in the first argument of putrequest(). NOTE: this is similar to CVE-2020-26116.
nvd
CVE-2021-28363P4MEDIUMCVSS 6.5≥ 1.26.0, < 1.26.42021-03-15
CVE-2021-28363 [MEDIUM] CWE-295 CVE-2021-28363: The urllib3 library 1.26.x before 1.26.4 for Python omits SSL certificate validation in some cases i The urllib3 library 1.26.x before 1.26.4 for Python omits SSL certificate validation in some cases involving HTTPS to HTTPS proxies. The initial connection to the HTTPS proxy (if an SSLContext isn't given via proxy_config) doesn't verify the hostname of the certificate. This means certificates for different servers that still validate properly with
nvd
CVE-2019-11236P4MEDIUMCVSS 6.1≤ 1.24.22019-04-15
CVE-2019-11236 [MEDIUM] CWE-93 CVE-2019-11236: In the urllib3 library through 1.24.1 for Python, CRLF injection is possible if the attacker control In the urllib3 library through 1.24.1 for Python, CRLF injection is possible if the attacker controls the request parameter.
nvd
CVE-2025-50182P4MEDIUMCVSS 6.1≥ 2.2.0, < 2.5.02025-06-19
CVE-2025-50182 [MEDIUM] CWE-601 CVE-2025-50182: urllib3 is a user-friendly HTTP client library for Python. Starting in version 2.2.0 and prior to 2. urllib3 is a user-friendly HTTP client library for Python. Starting in version 2.2.0 and prior to 2.5.0, urllib3 does not control redirects in browsers and Node.js. urllib3 supports being used in a Pyodide runtime utilizing the JavaScript Fetch API or falling back on XMLHttpRequest. This means Python libraries can be used to make HTTP requests from
nvd
CVE-2026-97688P4MEDIUMCVSS 5.3≥ 2.6.2, < 2.8.02026-09-29
CVE-2026-97688 [MEDIUM] CWE-835 CVE-2026-97688: urllib3 is an HTTP client library for Python. From 2.6.2 until 2.8.0, HTTPResponse.stream and HTTPRe 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
nvd
CVE-2025-50181P4MEDIUMCVSS 6.1fixed in 2.5.02025-06-19
CVE-2025-50181 [MEDIUM] CWE-601 CVE-2025-50181: urllib3 is a user-friendly HTTP client library for Python. Prior to 2.5.0, it is possible to disable urllib3 is a user-friendly HTTP client library for Python. Prior to 2.5.0, it is possible to disable redirects for all requests by instantiating a PoolManager and specifying retries in a way that disable redirects. By default, requests and botocore users are not affected. An application attempting to mitigate SSRF or open redirect vulnerabilities by
nvd
CVE-2026-44431P4MEDIUMCVSS 5.3≥ 1.23, < 2.7.02026-05-13
CVE-2026-44431 [MEDIUM] CWE-200 CVE-2026-44431: urllib3 is an HTTP client library for Python. From 1.23 to before 2.7.0, cross-origin redirects foll urllib3 is an HTTP client library for Python. From 1.23 to before 2.7.0, cross-origin redirects followed from the low-level API via ProxyManager.connection_from_url().urlopen(..., assert_same_host=False) still forward these sensitive headers. This vulnerability is fixed in 2.7.0.
nvd
CVE-2018-25091P4MEDIUMCVSS 6.1fixed in 1.24.22023-10-15
CVE-2018-25091 [MEDIUM] CVE-2018-25091: urllib3 before 1.24.2 does not remove the authorization HTTP header when following a cross-origin re urllib3 before 1.24.2 does not remove the authorization HTTP header when following a cross-origin redirect (i.e., a redirect that differs in host, port, or scheme). This can allow for credentials in the authorization header to be exposed to unintended hosts or transmitted in cleartext. NOTE: this issue exists because of an incomplete fix for CVE-2018-20060
nvd
Python Urllib3 vulnerabilities | cvebase