Hinweis: Obwohl JavaScript für diese Website nicht unbedingt erforderlich ist, werden Ihre Interaktionsmöglichkeiten mit den Inhalten eingeschränkt sein. Bitte aktivieren Sie JavaScript für das volle Erlebnis.

Python 3.9.24

Release Date: 9. Okt. 2025

Dies ist eine Sicherheitsveröffentlichung von Python 3.9

Hinweis: Die hier angezeigte Version ist Python 3.9.24, ein Sicherheits-Bugfix-Release für die ältere 3.9-Serie. Python 3.14 ist jetzt 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

Archiv-bezogen

  • gh-130577: tarfile validiert 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.HTMLParser gemäß dem HTML5-Standard behoben.
  • Leerzeichen werden zwischen </ und dem Tag-Namen nicht mehr 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\f und 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 nun 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: Behebt das Parsen von CDATA-Abschnitten in html.parser.HTMLParser gemäß dem HTML5-Standard: ] ]> und ]] > beenden den CDATA-Abschnitt nicht mehr. Fügt die private Methode _set_support_cdata() hinzu, mit der angegeben werden kann, wie <[CDATA[ geparst werden soll – als CDATA-Abschnitt in fremdem Inhalt (SVG oder MathML) oder als ungültiger Kommentar im HTML-Namensraum.
  • gh-102555: Behebt das Parsen von Kommentaren in html.parser.HTMLParser gemäß dem HTML5-Standard. --!> beendet nun den Kommentar. -- > beendet den Kommentar nicht mehr. Unterstützt abnormal beendete leere Kommentare <--> und <--->.
  • gh-135462: Quadratische Komplexität bei der Verarbeitung speziell präparierter Eingaben in html.parser.HTMLParser behoben. 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.HTMLParser behoben.
  • gh-86155: html.parser.HTMLParser.close() verliert keine Daten mehr, wenn der <script>-Tag nicht geschlossen ist.

Andere

Keine Installer

Gemäß dem Release-Kalender, der in PEP 596 festgelegt ist, befindet sich Python 3.9 nun in der Phase "nur Sicherheitsfixes" seines Lebenszyklus: Der 3.9-Zweig akzeptiert nur noch Sicherheitsfixes, und deren Veröffentlichungen erfolgen unregelmäßig in reiner Quellform bis Oktober 2025. Python 3.9 erhält keine regulären Fehlerbehebungen mehr, und binäre Installer werden dafür nicht mehr bereitgestellt. Python 3.9.13 war die letzte vollständige Bugfix-Veröffentlichung von Python 3.9 mit binären Installern.

Vollständiges Changelog

Dateien

Version Betriebssystem Beschreibung MD5 Summe Dateigröße Sigstore GPG
Gzip-komprimiertes Quell-Tarball Quellcode-Veröffentlichung 86920338d557f26b01c9c4ebe1a1db09 25,3 MB .sigstore SIG
XZ-komprimierter Quell-Tarball Quellcode-Veröffentlichung d778f94c0f141ef1d9945f7452fa914d 19,2 MB .sigstore SIG