Python 3.12.12
釋出日期: 2025年10月9日
這是 Python 3.12 的一個安全修復版本
注意: 您正在檢視的是 Python 3.12.12,這是舊版 3.12 系列的一個安全問題修復版本。Python 3.14 現在是 Python 3 最新的功能釋出系列。在此處獲取 3.14.x 的最新版本。
此版本中的安全內容
XML 相關
- gh-139312:將繫結的 libexpat 庫升級至 2.7.3,以修復 CVE-2025-59375
- gh-139400:
xml.parsers.expat:確保父 Expat 解析器只有在不再被ExternalEntityParserCreate()建立的子解析器引用時,才會被垃圾回收。
歸檔相關
- gh-130577:
tarfile現在會驗證歸檔檔案,以確保成員偏移量為非負數。 - gh-139700:現在會檢查 zip64 中央目錄記錄末端的一致性。如果 ZIP 檔案前沒有字首位元組,則增加了對帶有“zip64 可擴充套件資料”記錄的支援。
HTML 解析相關
- gh-135661:根據 HTML5 標準,修復了
html.parser.HTMLParser中對開始和結束標籤的解析。 - 不再接受
</和標籤名之間的空白字元。例如:</ script>不會結束 script 部分。 - 垂直製表符 (
\v) 和非 ASCII 空白字元不再被識別為空白。唯一的空白字元是\t\n\r\f和空格。 - 空字元 (U+0000) 不再結束標籤名。
- 結束標籤中標籤名後的屬性和斜槓現在將被忽略,而不是在帶引號的屬性值中第一個
>後終止。例如:</script/foo=">"/>。 - 在開始和結束標籤中,最後一個屬性和閉合
>之間的多個斜槓和空白字元現在將被忽略。例如:<a foo=bar/ //>。 - 屬性名和值之間的多個
=不再被摺疊。例如:<a foo==bar>會產生一個名為“foo”的屬性,其值為“=bar”。 - gh-135661:根據 HTML5 標準,修復了
html.parser.HTMLParser中的 CDATA 部分解析:] ]>和]] >不再結束 CDATA 部分。添加了私有方法_set_support_cdata(),可用於指定如何解析<[CDATA[——是作為外部內容(SVG 或 MathML)中的 CDATA 部分,還是作為 HTML 名稱空間中的無效註釋。 - gh-102555:根據 HTML5 標準,修復了
html.parser.HTMLParser中的註釋解析。--!>現在會結束註釋。-- >不再結束註釋。支援異常結束的空註釋<-->和<--->。 - gh-135462:修復了在
html.parser.HTMLParser中處理特殊構造的輸入時出現的二次複雜度問題。現在會根據 HTML5 規範處理檔案結束錯誤——註釋和宣告會自動閉合,標籤則被忽略。 - gh-118350:修復了
html.parser.HTMLParser對可轉義原始文字模式(“textarea”和“title”元素)的支援。 - gh-86155:
html.parser.HTMLParser.close()在<script>標籤未閉合時不再丟失資料。
無安裝程式
根據 PEP 693 中規定的釋出日程,Python 3.12 現已進入其生命週期的“僅安全修復”階段:3.12 分支僅接受安全修復,並且這些修復將以不定期、僅原始碼的形式釋出,直到 2028 年 10 月。Python 3.12 不再接收常規的錯誤修復,也不再為其提供二進位制安裝程式。Python 3.12.10 是 Python 3.12 最後一個包含二進位制安裝程式的完整錯誤修復版本。
檔案
| 版本 | 作業系統 | 描述 | MD5 校驗和 | 檔案大小 | Sigstore | SBOM | GPG | |
|---|---|---|---|---|---|---|---|---|
| Gzip 壓縮的原始碼包 | 原始碼釋出版 | 4fcf63eed7dd8dd3f0d00cfd5921a681 | 26.0 MB | .sigstore | SPDX | SIG | ||
| XZ 壓縮的原始碼包 | 原始碼釋出版 | 04feb01316c7bb1b448001adbc63dd23 | 19.8 MB | .sigstore | SPDX | SIG | ||
