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