CVE-2026-19445: Use-after-free of a server-side SSLContext when sni_callback switches contexts

Published Sep 30, 2026
·
Updated

A remote, unauthenticated TLS client can make a server crash or call through a freed pointer if its snicallback 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 snicallback for the lifetime of the server. TLS clients are not affected.

Affected Software

1 affected component
Python Software Foundation CPython

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Keep a reference to every server-side ssl.SSLContext that sets sni_callback for the lifetime of the server, including contexts assigned through SSLSocket.context, so the original context remains alive while connections are open.

Event History

Sep 30, 2026
CVE Published
via MITRE·04:16 PM
Data Sourced
via MITRE·04:16 PM
DescriptionWeakness
Data Sourced
via NVD·05:16 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Server-side Python TLS deployments are exposed only when an sni_callback changes SSLSocket.context and the original SSLContext is not kept alive. Servers that wrap their listening socket with the SSLContext are not affected, and TLS clients are not affected.

2

What does an attacker need to exploit this?

An attacker only needs to be a remote, unauthenticated TLS client. Exploitation depends on the server using the affected SNI callback context-switching pattern.

3

What can be done if patching is not immediately possible?

Keep a reference to every SSLContext that sets sni_callback for the full lifetime of the server. Avoid per-connection SSLContext creation or replacing contexts while connections remain open unless the original contexts are retained.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203