Impact
This bug causes HTTPS proxy TLS parameters to be merged with target‑server TLS settings, enabling an attacker to impersonate the proxy. By injecting a forged certificate the attacker can observe, modify, or inject traffic to the intended server while an end‑to‑end TLS connection to the final target remains intact. The flaw is a moderate‑to‑high severity issue (CVSS 7.6) that can lead to confidentiality and integrity violations for applications relying on urllib3 to mediate HTTPS traffic.
Affected Systems
All Python applications that use urllib3 versions from 1.26.0 up to but not including 2.8.0, and that configure a HTTPS proxy along with target‑server TLS options such as proxy_ssl_context, proxy_assert_hostname, proxy_assert_fingerprint, ssl_context, cert_reqs, or use_forwarding_for_https, are affected.
Risk and Exploitability
The vulnerability is rated 7.6 on CVSS and is not currently listed in the CISA KEV catalog. EPSS is unavailable, suggesting limited publicly known exploits. An attacker who can control or intercept the HTTPS proxy can exploit the merged TLS context to perform a man‑in‑the‑middle attack. Because many web‑client applications depend on urllib3 without careful TLS configuration, the risk is significant for systems that rely on proxy settings.
OpenCVE Enrichment
Github GHSA