Use After Free in Python Software Foundation Cpython
CVE-2026-19445
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.
Vulnerability class: Use-After-Free
Published · last modified .
EPSS exploit prediction
No EPSS score from FIRST.org yet. New CVEs usually get one within a few days; no score means no signal yet, not low risk. How EPSS works.
Affected products
Weakness classification (CWE)
References
- github.com/python/cpython/pull/158504 (patch)
- mail.python.org/archives/list/security-announce@python.org/thread/QMQIUQB6WGGC3… (vendor-advisory)
- github.com/python/cpython/issues/156293 (issue-tracking)
- af854a3a-2127-422b-91ae-364da2661108
- github.com/python/cpython/commit/34a53dce8174da2fceb12fe084a4def02a10053d (patch)
- github.com/python/cpython/commit/46133cd57d309652139ada74014aca7665ac552b (patch)
- github.com/python/cpython/commit/63fab143d94cafae71850831acfb52041ba44af7 (patch)
- github.com/python/cpython/commit/cd7e51e7d4563866fbaa1e2521ae69b45daf3698 (patch)
- github.com/python/cpython/commit/d8717ed01717a9641686e6e6f83f0ab8af235e2c (patch)
- github.com/python/cpython/commit/b12968cefe69ca1dcb8606c832ff73ee7dbf4ba8 (patch)