CPython ssl: Use-after-free bei serverseitigem SNI-Callback mit Kontextwechsel
Zusammenfassung
Das Modul ssl von CPython enthält eine Use-after-free-Schwachstelle in der serverseitigen TLS-Verarbeitung, wenn ein sni_callback dem SSLSocket.context einen anderen Kontext zuweist und der ursprüngliche SSLContext nicht mehr referenziert wird. Ein entfernter, nicht authentisierter TLS-Client kann einen Absturz oder, weniger zuverlässig, eine Speicherbeschädigung auslösen. Betroffen sind nur Server, die pro Verbindung einen SSLContext erstellen oder ihn bei offenen Verbindungen ersetzen; Server, die ihren Listening-Socket mit einem langlebigen Kontext umhüllen, sowie alle TLS-Clients sind nicht betroffen.
Betroffen
- CPython 3.10.0 bis vor 3.10.22
- CPython 3.11.0 bis vor 3.11.17
- CPython 3.12.0 bis vor 3.12.15
- CPython 3.13.0 bis vor 3.13.16
- CPython 3.14.0 bis vor 3.14.8
- CPython 3.15.0a1 bis vor 3.15.0rc3
- Versionen 3.9 und älter: keine korrigierte Version, als ungepatcht behandeln
- Nur serverseitige Nutzung von ssl mit sni_callback im verwundbaren Muster
Behoben in
- CPython 3.10.22, 3.11.17, 3.12.15, 3.13.16, 3.14.8 und 3.15.0rc3 oder neuer
- Die neueste Point-Release-Version des jeweiligen Zweigs auf python.org prüfen
- Linux-Distributionen: Herstellerhinweis für die eigene Version prüfen
Umgehung
- Für jeden SSLContext, der sni_callback setzt, während der gesamten Laufzeit des Servers eine starke Referenz halten
- Python-TLS-Server mit sni_callback auf vertrauenswürdige Clients beschränken
- Einen langlebigen SSLContext verwenden, der den Listening-Socket umhüllt, statt pro Verbindung neue Kontexte zu erstellen
Ausnutzung
- Keine bekannte Ausnutzung in freier Wildbahn; nicht im CISA-KEV-Katalog gelistet
- Kein öffentlicher Proof-of-Concept gefunden
- Die Auswirkung ist primär ein Denial of Service; Speicherbeschädigung ist schwerer zuverlässig auszunutzen
Unsere Empfehlung
- Python-Laufzeitumgebungen auf Servern, in Containern und Appliances inventarisieren, einschliesslich eingebetteter Kopien
- Dienste identifizieren, die serverseitigen ssl-Code mit sni_callback ausführen
- Auf die gepatchte Point-Release-Version des eigenen Zweigs aktualisieren
- Wenn ein Update verzögert wird, die Workaround-Massnahme zur Referenzhaltung anwenden und den TLS-Zugriff einschränken
- Auf Abstürze betroffener Python-Dienste achten
Öffentliche Exploits
Links zu fremden Seiten, von uns nicht geprüft – Exploit-Code kann Schadsoftware enthalten. Nur in isolierten Testumgebungen verwenden.
- Proof of Concept auf GitHub (1 Repositories)
abraxas/cve-2026-19445-sni-uaf
Quellen der Recherche
- Python security-announce advisory mail.python.org
- Python 3.10.22 / 3.11.17 release blog blog.python.org
- Python 3.14.8 release notes www.python.org
- Fix commit for 3.14 github.com
- Fix commit for 3.13 github.com
- Fix commit for 3.15 github.com
- Debian security tracker security-tracker.debian.org
- Open wall oss-security post www.openwall.com
Recherchiert und auf Deutsch und Englisch aufbereitet von einer KI (Claude von Anthropic) auf Basis von NVD, CISA, EPSS und den genannten Quellen. Massgebend sind die Angaben des Herstellers. Recherche vom 31.10.2026 05:04.
Referenzen der NVD (11)
- https://github.com/python/cpython/commit/34a53dce8174da2fceb12fe084a4def02a10053d
- https://github.com/python/cpython/commit/46133cd57d309652139ada74014aca7665ac552b
- https://github.com/python/cpython/commit/63fab143d94cafae71850831acfb52041ba44af7
- https://github.com/python/cpython/commit/b12968cefe69ca1dcb8606c832ff73ee7dbf4ba8
- https://github.com/python/cpython/commit/cd7e51e7d4563866fbaa1e2521ae69b45daf3698
- https://github.com/python/cpython/commit/d8717ed01717a9641686e6e6f83f0ab8af235e2c
- https://github.com/python/cpython/commit/ec44b5a3258cbda947d5e07242ee562ed05ef24b
- https://github.com/python/cpython/issues/156293
- https://github.com/python/cpython/pull/158504
- https://mail.python.org/archives/list/security-announce@python.org/thread/QMQIUQB6WGGC3MI7I3WKQXOYOBDSPPS3/
- http://www.openwall.com/lists/oss-security/2026/09/30/17
Quellen
Der Tracker verbindet offizielle, frei nutzbare Datenquellen – laufend aktualisiert:
- NVD (NIST) – CVE, Bewertung (CVSS), betroffene Produkte
- CISA KEV – von der CISA bestätigt aktiv ausgenutzte Lücken
- CISA Vulnrichment – Einschätzung der CISA (SSVC) im offiziellen CVE-Eintrag
- FIRST EPSS – Wahrscheinlichkeit einer Ausnutzung
- Microsoft MSRC – Patch Tuesday: Lücken, Schweregrad, Updates
- PoC-in-GitHub – öffentliche Proof-of-Concept-Repositories
- Metasploit (Rapid7) – Module des Metasploit Framework
- Exploit-DB (OffSec) – Archiv öffentlicher Exploits (nur Verweise)
- Patch-Tage: offizielle Seiten der Hersteller (je Hersteller verlinkt) (Patch-Tage der Hersteller)
Dieses Angebot nutzt Daten der NVD-API, ist aber von der NVD weder unterstützt noch zertifiziert. EPSS-Daten © FIRST.org.
Betroffen? Wir helfen.
Wir prüfen, ob Ihre Systeme betroffen sind, spielen Updates ein und schliessen die Lücke – auf Wunsch auch laufend mit dem System Health Checker.
