Quick answers
- Is CVE-2026-97687 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-97687 being exploited in the wild.
- How severe is CVE-2026-97687?
- High severity, with a CVSS score of 4, published 29 September 2026.
- Which products and versions are affected?
- urllib3 (PyPI) >= 1.26.0, < 2.8.0, ECOSYSTEM:introduced=1.26.0,fixed=2.8.0; Urllib3 1.26.0 to 2.7.x.
- Is there a fix for CVE-2026-97687?
- Yes. urllib3 (PyPI): upgrade to 2.8.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-97687 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-97687?
- Check whether you run urllib3 (PyPI) or Urllib3 at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- urllib3 (PyPI): upgrade to 2.8.0 or later
pip install "urllib3>=2.8.0"
Technical details
Target-server TLS settings (cert_reqs, verify_mode, ssl_context, and hostname assertions) are incorrectly applied to the HTTPS proxy TLS handshake instead of remaining isolated, due to in-place mutation of shared ssl_context objects. An attacker positioned to intercept the HTTPS proxy connection can present a fake certificate that would be rejected if settings were properly enforced. The fix in version 2.8.0 isolates proxy TLS configuration from target TLS settings, preventing the leakage and in-place mutations.
Affected products
- urllib3 urllib3 1.26.0 to 2.7.x
Identifiers
- CVE-2026-97687
- GHSA-8988-9cw3-xx77
- PYSEC-2026-4175
Timeline
- 2026-09-29: disclosed
- 2026-07-29: patched: Fix committed; released in version 2.8.0