
Python 軟件基金會於 2026 年 10 月 26 日同步發布五個維護版本:Python 3.15.2、3.14.10、3.13.18、3.12.16 及 3.11.18。官方定調為加速安全版本,主要回應 eMudhra 中繼憑證機構金鑰外洩事件,並一併修補 tarfile 與 http.cookiejar 的問題[1]。其中 3.15.2 與 3.14.10 提供二進位安裝檔,其餘三個分支只提供原始碼。
憑證信任鏈的最後防線
事件源於 eMudhra 簽發的一批中繼憑證,其私鑰被發現可於極短時間內還原。由於該根憑證存在於大多數信任根憑證計劃之中,攻擊者可藉此為任意網域簽發憑證,再以中間人方式冒充 TLS 伺服器。Python 的處理方式是在 ssl 模組層面把這批中繼憑證列為不受信任,作為最後防線,對應 CVE-2026-115557[1][3]。
官方指出,即使使用者尚未更新 pip,正常使用 pip(包括以 pip 自我升級)在這些版本下亦已免受相關攻擊影響[1]。這點對實務環境尤其重要,因為不少企業鏡像與容器映像仍停留在舊版 pip。
五個分支同時發布,亦反映語言維護團隊在憑證事故中的角色。作業系統與瀏覽器可以透過更新信任儲存庫處理同類問題,但自帶 TLS 實作的語言執行環境,必須自行在程式庫層面加入封鎖名單,否則在缺乏系統級憑證撤銷機制的平台上,仍會接受有問題的憑證鏈。
同一批版本的其他修補
除了憑證問題,五個版本亦修正 tarfile.tar_filter 在處理連結時可被替換目的地的缺陷,對應 CVE-2026-114583;以及 http.cookiejar 接受負數 version 的 Cookie 的問題[1]。後者未獲分配 CVE 編號,但同樣列入安全內容。
3.13.18、3.12.16 與 3.11.18 額外包含多項早已在 3.15.1 與 3.14.9 修復的項目,包括把內建 Expat 升至 2.9.0(CVE-2026-77214、CVE-2026-102633)、在 Windows 上不再預設讀取 mimetypes.knownfiles(CVE-2024-3220),以及修正標頭重摺的邊界情況[1]。3.13.18 與 3.12.16 另修正 tempfile.TemporaryDirectory 清理時的競態條件。
升級注意
官方建議所有受影響版本的使用者儘快升級[1]。3.15 與 3.14 分支可直接取得二進位安裝檔;3.13、3.12、3.11 只提供原始碼,依賴發行版打包或自行編譯的環境需留意發行版何時跟進,各版本的詳細清單可參閱官方發布頁面[2]。
若應用程式在容器內以 ssl 模組驗證外部 TLS 連線,更新基礎映像後應重新建置,否則舊映像仍會沿用未封鎖清單的 ssl 模組。企業內部若以私有套件索引分發 Python,亦應同步檢查索引上的版本是否已包含是次修補。
參考資料
[1] Python 3.15.2, 3.14.10, 3.13.18, 3.12.16 and 3.11.18 are out(2026 年 10 月 26 日)