Python 3.12.12
Release Date: 9. Okt. 2025
Dies ist eine Sicherheitsveröffentlichung von Python 3.12
Hinweis: Die hier gezeigte Veröffentlichung ist Python 3.12.12, eine Sicherheits-Bugfix-Veröffentlichung für die ältere 3.12-Serie. Python 3.14 ist nun die neueste Feature-Release-Serie von Python 3. Holen Sie sich hier die neueste Version von 3.14.x.
Sicherheitsinhalte dieser Veröffentlichung
XML-bezogen
- gh-139312: Gebündeltes libexpat auf 2.7.3 aktualisiert, um CVE-2025-59375 zu beheben
- gh-139400:
xml.parsers.expat: Sichergestellt, dass übergeordnete Expat-Parser nur dann garbage-collected werden, wenn sie nicht mehr von durchExternalEntityParserCreate()erstellten Unter-Parsern referenziert werden.
Archiv-bezogen
- gh-130577:
tarfilevalidiert jetzt Archive, um sicherzustellen, dass Member-Offsets nicht negativ sind. - gh-139700: Überprüfung der Konsistenz des ZIP64-Ende-des-Zentralverzeichnis-Eintrags. Unterstützung für Einträge mit „ZIP64 erweiterbare Daten“ hinzugefügt, wenn dem ZIP-File keine Bytes vorangestellt sind.
HTML-Parsing-bezogen
- gh-135661: Parsen von Start- und End-Tags in
html.parser.HTMLParsergemäß dem HTML5-Standard behoben. - Leerzeichen werden nicht mehr zwischen
</und dem Tag-Namen akzeptiert. Z.B. beendet</ script>den Skriptabschnitt nicht. - Vertikale Tabulatoren (
\v) und Nicht-ASCII-Leerzeichen werden nicht mehr als Leerzeichen erkannt. Die einzigen Leerzeichen sind\t\n\r\fund Leerzeichen. - Null-Zeichen (U+0000) beenden den Tag-Namen nicht mehr.
- Attribute und Schrägstriche nach dem Tag-Namen in End-Tags werden jetzt ignoriert, anstatt nach dem ersten
>in einem zitierten Attributwert zu enden. Z.B.</script/foo=">"/>. - Mehrere Schrägstriche und Leerzeichen zwischen dem letzten Attribut und dem schließenden
>werden jetzt sowohl in Start- als auch in End-Tags ignoriert. Z.B.<a foo=bar/ //>. - Mehrere
=zwischen Attributnamen und -wert werden nicht mehr zusammengefasst. Z.B. erzeugt<a foo==bar>das Attribut „foo“ mit dem Wert „=bar“. - gh-135661: Parsen von CDATA-Abschnitten in
html.parser.HTMLParsergemäß dem HTML5-Standard behoben:] ]>und]] >beenden den CDATA-Abschnitt nicht mehr. Private Methode_set_support_cdata()hinzugefügt, die verwendet werden kann, um anzugeben, wie<[CDATA[geparst werden soll – als CDATA-Abschnitt in fremdem Inhalt (SVG oder MathML) oder als ungültiger Kommentar im HTML-Namensraum. - gh-102555: Parsen von Kommentaren in
html.parser.HTMLParsergemäß dem HTML5-Standard behoben.--!>beendet den Kommentar jetzt.-- >beendet den Kommentar nicht mehr. Unterstützung für abnormal beendete leere Kommentare<-->und<--->. - gh-135462: Quadratische Komplexität bei der Verarbeitung speziell präparierter Eingaben in
html.parser.HTMLParserbehoben. Fehler am Ende der Datei werden jetzt gemäß den HTML5-Spezifikationen behandelt – Kommentare und Deklarationen werden automatisch geschlossen, Tags werden ignoriert. - gh-118350: Unterstützung für den escapable raw text mode (Elemente „textarea“ und „title“) in
html.parser.HTMLParserbehoben. - gh-86155:
html.parser.HTMLParser.close()verliert keine Daten mehr, wenn der<script>-Tag nicht geschlossen ist.
Keine Installer
Gemäß dem Release-Kalender, der in PEP 693 spezifiziert ist, befindet sich Python 3.12 nun im Stadium „nur noch Sicherheitsfixes“ seines Lebenszyklus: Der 3.12-Zweig akzeptiert nur noch Sicherheitsfixes, und Veröffentlichungen davon erfolgen unregelmäßig in reiner Quellform bis Oktober 2028. Python 3.12 erhält keine regulären Fehlerbehebungen mehr, und Binärinstaller werden dafür nicht mehr bereitgestellt. Python 3.12.10 war die letzte vollständige Bugfix-Veröffentlichung von Python 3.12 mit Binärinstallern.
Dateien
| Version | Betriebssystem | Beschreibung | MD5 Summe | Dateigröße | Sigstore | SBOM | GPG | |
|---|---|---|---|---|---|---|---|---|
| Gzip-komprimiertes Quell-Tarball | Quellcode-Veröffentlichung | 4fcf63eed7dd8dd3f0d00cfd5921a681 | 26,0 MB | .sigstore | SPDX | SIG | ||
| XZ-komprimierter Quell-Tarball | Quellcode-Veröffentlichung | 04feb01316c7bb1b448001adbc63dd23 | 19,8 MB | .sigstore | SPDX | SIG | ||
