Description
A remote, unauthenticated TLS client can make a server crash or call
through a freed pointer if its sni_callback assigns a different context to
SSLSocket.context (the documented way to select a certificate per server
name) and nothing else keeps the original ssl.SSLContext alive. Typical
cases are servers that create an SSLContext per connection or replace it
while connections are open; servers that wrap their listening socket with
it are not affected.


Mitigation: keep a reference to every SSLContext that sets sni_callback for
the lifetime of the server. TLS clients are not affected.
Published: 2026-09-30
Score: 9.2 Critical
EPSS: n/a
KEV: No
Impact: Remote Code Execution via use‑after‑free
Action: Immediate Patch
AI Analysis

Impact

This bug is a use‑after‑free flaw in CPython’s SSL handling: when a TLS client invokes the sni_callback and assigns a different SSLContext to an SSLSocket, the prior context can be deallocated while still referenced. A remote, unauthenticated client can then cause the server to crash or, if the freed pointer is abused, execute arbitrary code. The vulnerability is classified as CWE‑416 and scored 9.2 on the CVSS scale, indicating a critical severity.

Affected Systems

The flaw affects Python Software Foundation CPython servers that create a new SSLContext for each connection or replace the context while connections are active. Servers that wrap their listening socket with a single SSLContext are not affected. No specific version ranges are listed in the advisory, so any CPython instance employing sni_callback in the described manner is potentially vulnerable.

Risk and Exploitability

The high CVSS score and lack of mitigation from existing security controls mean this vulnerability poses an immediate threat. An attacker can exploit the flaw simply by establishing an unauthenticated TLS connection that triggers the sni_callback. The EPSS score is not available, and the vulnerability is not listed in KEV, but the potential for arbitrary code execution and denial of service makes it a likely target for malicious actors. Servers should be considered exposed until a patch that preserves the SSLContext is applied or the flaw is otherwise mitigated.

Generated by OpenCVE AI on September 30, 2026 at 17:19 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Preserve a reference to every SSLContext that sets sni_callback for the lifetime of the server
  • Upgrade to a CPython release that contains the official fix for the use‑after‑free bug
  • Audit and modify server code to avoid creating or swapping SSLContexts while connections are open

Generated by OpenCVE AI on September 30, 2026 at 17:19 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 30 Sep 2026 16:45:00 +0000

Type Values Removed Values Added
Description A remote, unauthenticated TLS client can make a server crash or call through a freed pointer if its sni_callback assigns a different context to SSLSocket.context (the documented way to select a certificate per server name) and nothing else keeps the original ssl.SSLContext alive. Typical cases are servers that create an SSLContext per connection or replace it while connections are open; servers that wrap their listening socket with it are not affected. Mitigation: keep a reference to every SSLContext that sets sni_callback for the lifetime of the server. TLS clients are not affected.
Title Use-after-free of a server-side SSLContext when sni_callback switches contexts
Weaknesses CWE-416
References
Metrics cvssV4_0

{'score': 9.2, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: PSF

Published:

Updated: 2026-09-30T16:16:04.923Z

Reserved: 2026-08-10T13:31:21.724Z

Link: CVE-2026-19445

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-30T17:16:45.720

Modified: 2026-09-30T17:31:44.573

Link: CVE-2026-19445

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-30T17:30:19Z

Weaknesses