Python 3.9.16
釋出日期: 2022 年 12 月 6 日
這是 Python 3.9 的安全版本
注意: 您正在檢視的版本是 Python 3.9.16,是針對舊版 3.9 系列的安全錯誤修復版本。Python 3.11 現在是 Python 3 的最新功能版本系列。 在此處獲取 3.11.x 的最新版本。
此版本中的安全內容
- gh-98739:將捆綁的 libexpat 更新至 2.5.0,以修復 CVE-2022-43680 (堆記憶體釋放後使用)。
- gh-98517:移植 XKCP 修復 SHA-3 中的緩衝區溢位問題,以修復 CVE-2022-37454。
- gh-98433:
socket
或asyncio
相關名稱解析函式在 DNS 主機名上使用的 IDNA 編解碼器解碼器不再涉及二次演算法來修復 CVE-2022-45061。如果解碼涉及雙向字元的超長規範外的主機名,則可以防止潛在的 CPU 拒絕服務。某些協議(例如urllib
http 3xx 重定向)可能會允許攻擊者提供此類名稱。 - gh-97514:在 Linux 上,
multiprocessing
模組恢復使用檔案系統支援的 Unix 域套接字與 forkserver 程序進行通訊,而不是 Linux 抽象套接字名稱空間。僅選擇使用“forkserver”啟動方法的程式碼會受到影響。這樣可以防止 Linux CVE-2022-42919(潛在的許可權提升),因為抽象套接字沒有許可權,並且可能允許系統上同一網路名稱空間(通常是整個系統)中的任何使用者將程式碼注入到multiprocessing
forkserver 程序中。這是一個潛在的許可權提升。基於檔案系統的套接字許可權將此限制為 forkserver 程序使用者,這在 Python 3.8 及更早版本中是預設設定。 - gh-68966:已棄用的 mailcap 模組現在拒絕將不安全的文字(檔名、MIME 型別、引數)注入到 shell 命令中,以解決 CVE-2015-20107。它會警告並且表現得好像沒有找到匹配項(對於測試命令,則表現得好像測試失敗),而不是使用此類文字。
- gh-100001:
python -m http.server
不再允許將垃圾請求中傳送的終端控制字元列印到 stderr 伺服器日誌中。 - gh-87604:避免透過
gc
模組釋出活動直譯器稽核掛鉤的列表。
沒有安裝程式
根據 PEP 596 中指定的釋出日曆,Python 3.9 現在處於其生命週期的“僅安全修復”階段:3.9 分支僅接受安全修復,並且這些修復僅以原始碼形式不定期釋出,直到 2025 年 10 月。Python 3.9 不再接收常規的錯誤修復,並且不再為其提供二進位制安裝程式。Python 3.9.13 是最後一個具有二進位制安裝程式的 Python 3.9 完整錯誤修復版本。
檔案
版本 | 作業系統 | 描述 | MD5 校驗和 | 檔案大小 | GPG | Sigstore | |
---|---|---|---|---|---|---|---|
Gzipped 原始碼 tarball | 原始碼釋出 | 38c99c7313f416dcf3238f5cf444c6c2 | 25.1 MB | SIG | .sigstore | ||
XZ 壓縮原始碼 tarball | 原始碼釋出 | 5738c204eecc375e29751cb2176fc9cc | 18.8 MB | SIG | .sigstore |