CVE-2026-19445 PUBLISHED

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

Assigner: PSF
Reserved: 10.08.2026 Published: 30.09.2026 Updated: 01.10.2026

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.

Metrics

CVSS 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
CVSS Score: 9.2

Product Status

Vendor Python Software Foundation
Product CPython
Versions Default: unaffected
  • affected from 0 to 3.12.15 (excl.)
  • affected from 3.13.0 to 3.13.16 (excl.)
  • affected from 3.14.0 to 3.14.8 (excl.)
  • affected from 3.15.0a1 to 3.15.0 (excl.)

Credits

  • Gregory P. Smith (https://github.com/gpshead) reporter
  • Seth Larson (https://github.com/sethmlarson) coordinator
  • Bénédikt Tran (https://github.com/picnixz) remediation reviewer

References

Problem Types

  • CWE-416 CWE