Skip to main content
No exploitation reportedFix available

CVE-2026-97687

urllib3: HTTPS proxy TLS configuration may be ignored or overridden

No exploitation reported by the sources we read.

  • Published2026-09-29
  • Fixed in2.8.0
  • WeaknessCWE-295 · CWE-440

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

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 connection. The trigger is that an application uses an HTTPS proxy and configures target-server TLS settings that must remain separate from the proxy TLS handshake, including HTTPS forwarding with target-specific identity or credentials. Applying cert_reqs=CERT_NONE can overwrite proxy_ssl_context.verify_mode in place, and the mutation persists so later connections reusing the same context may connect to the HTTPS proxy without certificate verification. The attack mechanism is that an attacker intercepts and impersonates the HTTPS proxy after the effective proxy policy accepts the attacker's certificate. The impact is that the attacker can observe or modify forwarded traffic or receive a target TLS client certificate, while CONNECT tunneling still preserves the separate end-to-end target TLS connection. This issue is fixed in version 2.8.0.

Timeline

dates in UTC
  1. 2026-09-2916:17CVE publishedNVD

Observed activity

isMalicious corpus · updated 2026-10-23 15:37 UTC
Indicators tagged with this CVE, per day0 indicators over 7 days
Block these indicators
  • Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2026-97687?format=txt
  • CSV export: https://api.ismalicious.com/edl/cve/CVE-2026-97687?format=csv
  • TAXII collection of exploited CVEs
  • The EDL and CSV take an API key on the Pro plan.

Versions per branch

NVD · OSV
Python urllib3
BranchAffectedFixed in
2.8≥ 1.26.0, < 2.8.02.8.0

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Distribution builds and vendor advisories

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Packages

  • python3-urllib3AlmaLinux:10all versions · fixed in 1.26.19-4.el10_2.2
  • python3.12-urllib3AlmaLinux:9all versions · fixed in 1.26.19-3.el9_8.2
  • python3.14-urllib3AlmaLinux:10all versions · fixed in 2.6.3-2.el10_2.6
  • python3.14-urllib3AlmaLinux:9all versions · fixed in 2.6.3-2.el9_8.6

Vendor advisories

  • CVE-2026-97687 Red Hat Product Security50 products fixed · 180 known affected

    urllib3: urllib3: Traffic interception via HTTPS proxy TLS configuration override

    ansible-automation-platform/automation-orchestrator-backend-rhel9 as a component of Ansible Automation Orchestrator 2026 · lightspeed-core/lightspeed-stack-rhel9 as a component of Lightspeed Core · lightspeed-core/rag-tool-cpu-rhel9 as a component of Lightspeed Core · +177 more

  • RHSA-2026:87124 Red Hat Product Security6 products fixed

    Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.7 Container Release Update

  • RHSA-2026:87120 Red Hat Product Security8 products fixed

    Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Container Release Update

  • RHSA-2026:85929 Red Hat Product Security2 products fixed

    Red Hat Security Advisory: python3.12-urllib3 security update

  • RHSA-2026:84785 Red Hat Product Security2 products fixed

    Red Hat Security Advisory: RHTAS 1.4.4 - Release of Model Transparency 1.0.5

  • RHSA-2026:84577 Red Hat Product Security2 products fixed

    Red Hat Security Advisory: python3.14-urllib3 security update

12 more advisories

Full record on NVD

Fix

  1. Update Python urllib3 to 2.8.0
  2. Vendor fix Red Hat Product Security RHSA-2026:87124 · 6 productsBefore applying this update, make sure all previously released errata relevant to your system have been applied. For details on how to apply this update, refer to: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.7#Upgrade
  3. Vendor fix Red Hat Product Security RHSA-2026:87120 · 8 productsBefore applying this update, make sure all previously released errata relevant to your system have been applied. For details on how to apply this update, refer to: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6#Upgrade
  4. Vendor fix Red Hat Product Security RHSA-2026:85929 · 2 productsFor details on how to apply this update, which includes the changes described in this advisory, refer to: https://access.redhat.com/articles/11258
  5. Vendor fix Red Hat Product Security RHSA-2026:84785 · 2 productsThe Model Transparency CLI Image is a containerized command-line tool for signing and verifying AI/ML workloads against a private Red Hat Trusted Artifact Signer (RHTAS) instance. It lets teams create signatures and attestations for model artifacts and validate them at build or deploy time using en…
  6. Vendor fix Red Hat Product Security RHSA-2026:83121 · 1 productFor more information visit https://access.redhat.com/errata/RHSA-2026:83121
  7. Vendor fix Red Hat Product Security RHSA-2026:83120 · 2 productsFor more information visit https://access.redhat.com/errata/RHSA-2026:83120

Advisories and patches

Detection

Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof-of-concept repositories
none listed
PoC-in-GitHub

Sources

  • CISA-ADPSSVC decisionnone2026-09-30
  • OpenCVESSVC decisionnone—
  • CNACVSS 4.07.6read 2026-10-23
  • NVDCVSS 3.18.1read 2026-10-23
  • CNAweakness (CWE)CWE-295, CWE-440read 2026-10-23
  • FIRST EPSSEPSS score0.2 %2026-10-22
  • OSVaffected packages—

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
CVSS 4.0 vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Published
2026-09-29
Last Modified
2026-10-13
NVD status
Analyzed

Frequently asked questions

What is CVE-2026-97687?

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 connection. The trigger is that an application uses an HTTPS proxy and configures target-server TLS settings that must remain separate from the proxy TLS handshake, including HTTPS forwarding with target-specific identity or credentials. Applying cert_reqs=CERT_NONE can overwrite proxy_ssl_context.verify_mode in place, and the mutation persists so later connections reusing the same context may connect to the HTTPS proxy without certificate verification. The attack mechanism is that an attacker intercepts and impersonates the HTTPS proxy after the effective proxy policy accepts the attacker's certificate. The impact is that the attacker can observe or modify forwarded traffic or receive a target TLS client certificate, while CONNECT tunneling still preserves the separate end-to-end target TLS connection. This issue is fixed in version 2.8.0.

Is CVE-2026-97687 actively exploited?

Active exploitation of CVE-2026-97687 has not been confirmed. Its EPSS score was 0.2% on 2026-10-22, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2026-97687?

CVE-2026-97687 has a CVSS v3 base score of 8.1 (HIGH severity), with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N.

Running urllib3? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month