8.1

CVE-2026-97687: python urllib3 Improper Certificate Validation

CVSS: 8.1v3.1HighAnalyzed
AliasesGHSA-8988-9cw3-xx77PYSEC-2026-4175UBUNTU-CVE-2026-97687
Published 29-09-2026Last modified 30-09-2026

Vulnerability summary

CVE-2026-97687 is a high (CVSS 8.1) Improper Certificate Validation vulnerability in python urllib3. EPSS estimates a 0.21% chance of exploitation in the next 30 days, higher than 10% of scored vulnerabilities.

Overall risk
32/100
0100
Medium · default modelHow is this calculated?
CVSS score
8.1/10
010
High · v3.1 (NVD)
EPSS score
0.21%
0%100%
Low · Change unavailable
KEVNot listedIn no KEV catalog
RansomwareNone recordedNo known use recorded
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 9 · Related 6

Timeline

  1. 29-09-2026
    PublishedVulnerability first disclosed.
  2. 30-09-2026
    Last modifiedVulnerability information updated.

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.

CVSS metrics

9 scores · 7 sources · 2 versions

EPSS trend

Probability

0.21%

Chance of exploitation in the next 30 days

Percentile

10%

Versus all other CVEs

30-day change

Change unavailable

Change unavailable

30-09-202619-10-2026
EPSS score
0.21%

Known exploited

Compare KEV catalogs

Not in any of the 3 tracked catalogs.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Chainguard151 products
  • airflow-2< 2.11.2-r26 | All versions (No fix recorded)
  • airflow-core-2< 2.11.2-r11
  • ansible-operator< 1.42.3-r19
  • ansible-operator-fips< 1.42.3-r16
  • apache-beam-python-3.11-sdk< 2.76.0-r4
Wolfi28 products
  • confluent-docker-utils< 0.0.172-r4
  • datadog-agent-7.77-core-integrations< 7.77.3-r27
  • datadog-agent-7.78< 7.78.4-r23
  • datadog-agent-7.78-core-integrationsAll versions (No fix recorded)
  • datadog-agent-7.79All versions (No fix recorded)
Ubuntu2 products
  • python-pipAll versions (No fix recorded)
  • python-urllib3All versions (No fix recorded) | < 2.6.3-1ubuntu1.2
Debian1 product
  • python-urllib3All versions (No fix recorded) | < 2.8.0-1
PyPI1 product
  • urllib3≥ 1.26.0, < 2.8.0
Python1 product
Urllib31 product

7 vendors · 185 products

References

14 links
Show all 14 references