
Gentoo 於 2026 年 10 月 24 日發出公告,指 10 月 20 日已披露八張 eMudhra 中級憑證機構的憑證私鑰外洩,其中六張用於 TLS、兩張用於程式碼簽署。由於 eMudhra 的根憑證存在於大多數受信任根憑證計劃之中,攻擊者可用外洩密鑰為任意網域簽發憑證,進而進行中間人攻擊[1]。Go 圖騰並於 10 月 26 日交代,已於 10 月 19 日緊急推出 Go 1.27.3 與 1.26.10[2]。
密鑰強度不足,數微秒內可還原
Mozilla 於 10 月 17 日把八張中級憑證加入 OneCRL,即 Firefox 使用的憑證撤銷清單,多名安全研究人員隨即展開調查。Go 安全圖騰在 10 月 19 日得到調查結論:相關憑證的私鑰強度嚴重不足,可在數微秒內還原。由於根憑證獲廣泛信任,取得私鑰等同可為任意網域簽發憑證,毋需憑證明對話的控制權,且即可衝擊目標機器嘗試連線任意 TLS 伺服器。
這類風險同樣波及只以 TLS 憑證作為唯一防線的跟隨者自動更新流程。更新請求一旦被整截,系統可能被引致至攻擊者控制的伺服器,更新過程反而成為入侵彎道。
Go 首次啟動 URGENT 流程
Go 圖騰指出,一般安全更新需時數天並會預先通知,但這次判斷私鑰短時間內便會公開,故是首次動用 URGENT 渠道。時間線如下:太平洋時間 11:45 接獲外部研究人員通知,12:30 Mozilla 確認事件並要求緊急撤銷,14:00 完成封鑰涉事憑證鏈的修補,15:00 開始發佈,19:13 對外公佈。由接報到全球可用不足七個半小時,實際發佈流程耗時約四小時十五分鐘。
使用 Go 1.27.3 或 1.26.10 重新編譯的二進位檔,會自動拒絕由涉事中級憑證簽發的憑證。Go 圖騰表示,Linux 缺套一致的憑證撤銷查詢機制,是這次緊急版本的主因;日後會優先撥上 Linux 的撤銷支援,並研究接入 rustls 的 upki 專框。
Gentoo 與 Python 環境的處理
Gentoo 建議把 ca-certificates 升級至 20260816.3.125 或以上,並在 bug 984601 追蹤繼續使用內建憑證庫的套件。標準 Gentoo 設定以 OpenPGP 簽署 ebuild repository 與二進位套件,即使更新請求被整截,Portage 會拒絕被篡改的套件或中介資料。
在套件管理員以外安裝的跟隨者同樣受影響。例如使用舊版 certifi、pip 或 uv 的 Python 虛擬環境便具有風險,需要重建環境或升級相關套件,單靠更新系統憑證套件並不足夠。
升級與檢查步驟
- 以
go version檢查工具鏈版本,以go version -m查看二進位檔的建置版本。 - 以
GOTOOLCHAIN=go1.27.3+auto安裝 govulncheck,再以govulncheck -mode=binary檢查現有 binary 是否受影響。 - 重新編譯所有使用 net/http、crypto/tls 或 gRPC 的服務,只更新工具鏈而不重建並不足夠。
- 更新系統憑證套件、重建 Python 虛擬環境,並檢查容器映像的基礎鏡層是否仍帶舊憑證。
- 檢視自家服務的更新機制,若只依賴 TLS 憑證,擬加入簽章驗證。
參考資料
[1] eMudhra Intermediate CA Compromise(2026-10-24)
[2] Our Response To The eMudhra Key Disclosure Incident(2026-10-26)