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

Erscheinungsdatum: 6. September 2024

Dies ist eine Sicherheitsveröffentlichung von Python 3.9

Hinweis: Die angezeigte Version ist Python 3.9.20, ein Sicherheits-Bugfix-Release für die ältere 3.9-Serie. Python 3.12 ist jetzt die neueste Feature-Release-Serie von Python 3. Holen Sie sich hier die neueste Version von 3.12.x.

Sicherheitsinhalte dieser Veröffentlichung

  • gh-123678 und gh-116741: Upgrade der gebündelten libexpat auf 2.6.3 zur Behebung von CVE-2024-28757, CVE-2024-45490, CVE-2024-45491 und CVE-2024-45492.
  • gh-118486: os.mkdir() unter Windows akzeptiert jetzt den Modus 0o700, um das neue Verzeichnis auf den aktuellen Benutzer zu beschränken. Dies behebt CVE-2024-4030, das tempfile.mkdtemp() in Szenarien betrifft, in denen das Basisverzeichnis für temporäre Dateien permissiver ist als der Standard.
  • gh-123067: Behebung der quadratischen Komplexität beim Parsen von "-gekennzeichneten Cookie-Werten mit Backslashes durch http.cookies. Behebt CVE-2024-7592.
  • gh-113171: Behebung verschiedener Fehlalarme und falsch negativer Ergebnisse in IPv4Address.is_private, IPv4Address.is_global, IPv6Address.is_private, IPv6Address.is_global. Behebt CVE-2024-4032.
  • gh-67693: Behebung von urllib.parse.urlunparse() und urllib.parse.urlunsplit() für URIs mit einem Pfad, der mit mehreren Schrägstrichen beginnt und keine Autorität hat. Behebt CVE-2015-2104.
  • gh-121957: Fehlende Audit-Ereignisse bei der interaktiven Nutzung von Python behoben, die jetzt auch für python -i sowie für python -m asyncio korrekt ausgelöst werden. Das betreffende Ereignis ist cpython.run_stdin.
  • gh-122133: Authentifizierung der Socket-Verbindung für den socket.socketpair()-Fallback auf Plattformen, auf denen AF_UNIX nicht verfügbar ist, wie z. B. Windows.
  • gh-121285: Entfernung von Backtracking aus der Tarfile-Header-Analyse für hdrcharset, PAX und GNU Sparse-Header. Das ist CVE-2024-6232.
  • gh-114572: ssl.SSLContext.cert_store_stats() und ssl.SSLContext.get_ca_certs() sperren nun korrekt den Zugriff auf den Zertifikatsspeicher, wenn der ssl.SSLContext zwischen mehreren Threads geteilt wird.
  • gh-102988: email.utils.getaddresses() und email.utils.parseaddr() geben nun in mehr Situationen, in denen ungültige E-Mail-Adressen angetroffen werden, 2-Tupel von ('', '') zurück, anstatt potenziell ungenaue Werte. Hinzufügen eines optionalen strict-Parameters zu diesen beiden Funktionen: Verwenden Sie strict=False, um das alte Verhalten zu erhalten und fehlerhafte Eingaben zu akzeptieren. getattr(email.utils, 'supports_strict_parsing', False) kann verwendet werden, um zu prüfen, ob der strict-Parameter verfügbar ist. Dies verbessert die Korrektur von CVE-2023-27043.
  • gh-123270: Bereinigung von Namen in zipfile.Path, um Endlosschleifen (gh-122905) zu vermeiden, ohne Inhalte mit legitimen Zeichen zu beeinträchtigen. Das ist CVE-2024-8088.
  • gh-121650: email-Header mit eingebetteten Zeilenumbrüchen werden nun beim Ausgeben in Anführungszeichen gesetzt. Der generator weigert sich nun, unsicher gefaltete oder getrennte Header zu serialisieren (zu schreiben); siehe verify_generated_headers. Das ist CVE-2024-6923.
  • gh-119690: Behebt Verwechslungen von Datentypen in Audit-Ereignissen, die von _winapi.CreateFile und _winapi.CreateNamedPipe ausgelöst werden.
  • gh-116773: Behebt Fälle von <_overlapped.Overlapped object at 0xXXX> still has pending operation at deallocation, the process may crash.
  • gh-112275: Ein Deadlock, der pystate.c's HEAD_LOCK in posixmodule.c beim Fork betrifft, wurde nun behoben.

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 896c19e5815ba990a3d1261502ea9f83 24.9 MB .sigstore SIG
XZ-komprimierter Quell-Tarball Quellcode-Veröffentlichung bdcda0fdb99e7e17018f6886fae5e1fd 18.7 MB .sigstore SIG