Skip to main content
← All vulnerabilities
CVE-2026-19445BIT-LIBPYTHON-2026-19445BIT-PYTHON-2026-19445BIT-PYTHON-MIN-2026-19445PSF-2026-43

Use-after-free of a server-side SSLContext when sni_callback switches contexts

Published
Last modified
Status
published
Known exploitation
Not listed in CISA KEV
Fix
Fixed in 3.10.22, 3.11.17, 3.12.15, 3.13.16, 3.14.8, and 1 more
Public exploit
None on Exploit-DB

Summary

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.

Affected versions

  • Python Software Foundation CPython

    fixed in 3.10.22; From 3.11.0 · fixed in 3.11.17; From 3.12.0 · fixed in 3.12.15; From 3.13.0 · fixed in 3.13.16; From 3.14.0 · fixed in 3.14.8; From 3.15.0a1 · fixed in 3.15.0rc3

  • libpythonBitnami

    fixed in 3.10.22; From 3.11.0 · fixed in 3.11.17; From 3.12.0 · fixed in 3.12.15; From 3.13.0 · fixed in 3.13.16; From 3.14.0 · fixed in 3.14.8

  • pythonBitnami

    fixed in 3.10.22; From 3.11.0 · fixed in 3.11.17; From 3.12.0 · fixed in 3.12.15; From 3.13.0 · fixed in 3.13.16; From 3.14.0 · fixed in 3.14.8

  • python-minBitnami

    fixed in 3.10.22; From 3.11.0 · fixed in 3.11.17; From 3.12.0 · fixed in 3.12.15; From 3.13.0 · fixed in 3.13.16; From 3.14.0 · fixed in 3.14.8

References 10

GitHub · python/cpython

mail.python.org