{"schema":"threatline.record/2","record":{"id":"CVE-2026-19445","aliases":[],"summary":"Use-after-free of a server-side SSLContext when sni_callback switches contexts","details":"A remote, unauthenticated TLS client can make a server crash or call\nthrough a freed pointer if its sni_callback assigns a different context to\nSSLSocket.context (the documented way to select a certificate per server\nname) and nothing else keeps the original ssl.SSLContext alive. Typical\ncases are servers that create an SSLContext per connection or replace it\nwhile connections are open; servers that wrap their listening socket with\nit are not affected.\n\n\nMitigation: keep a reference to every SSLContext that sets sni_callback for\nthe lifetime of the server. TLS clients are not affected.","categories":["Runtimes & languages"],"product":"CPython","vendor":"Python Software Foundation","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-19445","source_modified_at":"2026-10-03T00:36:46.398Z","fetched_at":"2026-10-23T18:52:38.922436Z","product":"CPython","vendor":"Python Software Foundation","versions":[{"version":"0","lessThan":"3.10.22","status":"affected","versionType":"python"},{"version":"3.11.0","lessThan":"3.11.17","status":"affected","versionType":"python"},{"version":"3.12.0","lessThan":"3.12.15","status":"affected","versionType":"python"},{"version":"3.13.0","lessThan":"3.13.16","status":"affected","versionType":"python"},{"version":"3.14.0","lessThan":"3.14.8","status":"affected","versionType":"python"},{"version":"3.15.0a1","lessThan":"3.15.0rc3","status":"affected","versionType":"python"}],"defaultStatus":"unaffected"}],"fixed_versions":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-19445","source_modified_at":"2026-10-03T00:36:46.398Z","fetched_at":"2026-10-23T18:52:38.922436Z","package":{"name":"CPython","ecosystem":null},"version":"3.10.22","basis":"first unaffected version stated in the CVE record"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-19445","source_modified_at":"2026-10-03T00:36:46.398Z","fetched_at":"2026-10-23T18:52:38.922436Z","package":{"name":"CPython","ecosystem":null},"version":"3.11.17","basis":"first unaffected version stated in the CVE record"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-19445","source_modified_at":"2026-10-03T00:36:46.398Z","fetched_at":"2026-10-23T18:52:38.922436Z","package":{"name":"CPython","ecosystem":null},"version":"3.12.15","basis":"first unaffected version stated in the CVE record"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-19445","source_modified_at":"2026-10-03T00:36:46.398Z","fetched_at":"2026-10-23T18:52:38.922436Z","package":{"name":"CPython","ecosystem":null},"version":"3.13.16","basis":"first unaffected version stated in the CVE record"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-19445","source_modified_at":"2026-10-03T00:36:46.398Z","fetched_at":"2026-10-23T18:52:38.922436Z","package":{"name":"CPython","ecosystem":null},"version":"3.14.8","basis":"first unaffected version stated in the CVE record"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-19445","source_modified_at":"2026-10-03T00:36:46.398Z","fetched_at":"2026-10-23T18:52:38.922436Z","package":{"name":"CPython","ecosystem":null},"version":"3.15.0rc3","basis":"first unaffected version stated in the CVE record"}],"cvss":9.2,"severity":"Critical","kev":{"listed":false},"epss":{"probability":0.00429,"percentile":0.36154,"score_date":"2026-10-23"},"published_at":"2026-09-30T16:16:04.923Z","modified_at":"2026-10-03T00:36:46.398Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-19445","fetched_at":"2026-10-23T18:52:38.922436Z","source_modified_at":"2026-10-03T00:36:46.398Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-19445","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/python/cpython/pull/158504","tags":["patch"]},{"source":"CVE List","url":"https://mail.python.org/archives/list/security-announce@python.org/thread/QMQIUQB6WGGC3MI7I3WKQXOYOBDSPPS3/","tags":["vendor-advisory"]},{"source":"CVE List","url":"https://github.com/python/cpython/issues/156293","tags":["issue-tracking"]},{"source":"CVE List","url":"https://github.com/python/cpython/commit/34a53dce8174da2fceb12fe084a4def02a10053d","tags":["patch"]},{"source":"CVE List","url":"https://github.com/python/cpython/commit/46133cd57d309652139ada74014aca7665ac552b","tags":["patch"]},{"source":"CVE List","url":"https://github.com/python/cpython/commit/63fab143d94cafae71850831acfb52041ba44af7","tags":["patch"]},{"source":"CVE List","url":"https://github.com/python/cpython/commit/cd7e51e7d4563866fbaa1e2521ae69b45daf3698","tags":["patch"]},{"source":"CVE List","url":"https://github.com/python/cpython/commit/d8717ed01717a9641686e6e6f83f0ab8af235e2c","tags":["patch"]},{"source":"CVE List","url":"https://github.com/python/cpython/commit/b12968cefe69ca1dcb8606c832ff73ee7dbf4ba8","tags":["patch"]},{"source":"CVE List","url":"https://github.com/python/cpython/commit/ec44b5a3258cbda947d5e07242ee562ed05ef24b","tags":["patch"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"vendor and product","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-03T00:36:46.398Z","content_hash":"e70bece929ad012d43c255e7be443683b7d018a42786024886ace96d4c718f27"}}
