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.16

Erscheinungsdatum: 6. Dez. 2022

Dies ist eine Sicherheitsveröffentlichung von Python 3.9

Hinweis: Die hier gezeigte Version ist Python 3.9.16, eine Sicherheits-Bugfix-Version für die ältere 3.9-Serie. Python 3.11 ist jetzt die aktuellste Feature-Release-Serie von Python 3. Holen Sie sich hier die neueste Version von 3.11.x.

Sicherheitsinhalte dieser Veröffentlichung

  • gh-98739: Gebündelte libexpat auf 2.5.0 aktualisiert, um CVE-2022-43680 (Heap Use-after-free) zu beheben.
  • gh-98517: XKCPs Korrektur für die Pufferüberläufe in SHA-3 portiert, um CVE-2022-37454 zu beheben.
  • gh-98433: Der IDNA-Codec-Decoder, der von `socket`- oder `asyncio`-bezogenen Namensauflösungsfunktionen für DNS-Hostnamen verwendet wird, beinhaltet keinen quadratischen Algorithmus mehr, um CVE-2022-45061 zu beheben. Dies verhindert eine potenzielle Denial-of-Service-Attacke auf die CPU, falls ein Hostname von übermäßiger Länge außerhalb der Spezifikation, der bidirektionale Zeichen enthält, dekodiert würde. Einige Protokolle wie `urllib` http 3xx-Weiterleitungen ermöglichen potenziell einem Angreifer, einen solchen Namen zu liefern.
  • gh-97514: Unter Linux kehrt das `multiprocessing`-Modul zur Verwendung von Dateisystem-basierten Unix-Domain-Sockets für die Kommunikation mit dem Forkserver-Prozess anstelle des abstrakten Socket-Namensraums von Linux zurück. Nur Code, der die "forkserver"-Startmethode wählt, ist betroffen. Dies verhindert Linux CVE-2022-42919 (potenzielle Rechteerweiterung), da abstrakte Sockets keine Berechtigungen haben und es jedem Benutzer im System im selben Netzwerk-Namensraum (oft das gesamte System) ermöglichen könnte, Code in den `multiprocessing`-Forkserver-Prozess einzuschleusen. Dies war eine potenzielle Rechteerweiterung. Dateisystembasierte Socket-Berechtigungen beschränken dies auf den Benutzer des Forkserver-Prozesses, wie es standardmäßig in Python 3.8 und früher war.
  • gh-68966: Das veraltete `mailcap`-Modul weigert sich nun, unsichere Texte (Dateinamen, MIME-Typen, Parameter) in Shell-Befehle einzuschleusen, um CVE-2015-20107 zu beheben. Anstatt solche Texte zu verwenden, wird eine Warnung ausgegeben und es wird so verfahren, als ob keine Übereinstimmung gefunden wurde (oder bei Testbefehlen, als ob der Test fehlgeschlagen ist).
  • gh-100001: `python -m http.server` erlaubt es nicht mehr, Terminal-Steuerzeichen, die in einer ungültigen Anfrage gesendet werden, in das stderr-Serverprotokoll zu drucken.
  • gh-87604: Vermeiden der Veröffentlichung einer Liste aktiver pro-Interpreter-Audit-Hooks über das `gc`-Modul.

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 38c99c7313f416dcf3238f5cf444c6c2 25,1 MB .sigstore SIG
XZ-komprimierter Quell-Tarball Quellcode-Veröffentlichung 5738c204eecc375e29751cb2176fc9cc 18,8 MB .sigstore SIG