https://activity.twcert.org.tw/2026/index.htm
https://activity.twcert.org.tw/2026/index.htm

新聞

印度憑證機構「eMudhra」八把中繼 CA 金鑰外洩,Chrome、Firefox 與 Apple、Microsoft 緊急封鎖相關憑證

2026 / 10 / 21
編輯部
印度憑證機構「eMudhra」八把中繼 CA 金鑰外洩,Chrome、Firefox 與 Apple、Microsoft 緊急封鎖相關憑證
提供數位身分、電子簽章與公開金鑰基礎建設(PKI)服務的印度憑證機構(Certificate Authority,CA)eMudhra,其八把中繼憑證(intermediate certificate)私鑰遭外洩。Firefox 瀏覽器開發商 Mozilla 與 Google Chrome 根憑證計畫(Chrome Root Program)於 10 月 20 日證實此事。研究人員 10 月 17 日通報後,Chrome 與 Firefox 在數小時內完成封鎖,Apple、Microsoft 也陸續跟進。攻擊者若掌握這些金鑰,可簽發瀏覽器信任的假憑證,進而冒充網站或攔截加密通訊。

受影響憑證涵蓋網站與程式碼簽章

八張中繼憑證中,六張用於簽發網站傳輸層安全(Transport Layer Security,TLS)憑證,分別是 EM DV TLS CA、EM OV TLS CA 與 EM EV TLS CA 的 G3B、G3C 版本,由 emSign Root TLS CA - G3 簽發。另兩張是程式碼簽章(code signing)用的 EM OV CS CA - G3B 與 G3C。eMudhra 已撤銷這八張憑證,並停止在其 G3 根憑證下簽發新憑證。

通報後不到三小時完成封鎖

依 Mozilla 與 Chrome Root Program 公布的資訊(以下為世界標準時間 UTC),身分僅以 Wayne 示人的研究人員,以八把私鑰對同一段訊息簽章,證明持有金鑰。Chrome 於 10 月 17 日 18:05 接獲通報,19:45 透過憑證撤銷清單 CRLSet 封鎖六張 TLS 中繼憑證。Mozilla 於 20:06 接獲通報,22:59 透過憑證撤銷清單 OneCRL 完成封鎖,一般設定的 Firefox 用戶無須更新或重新啟動。據 Mozilla 密碼學工程師 Dennis Jackson 維護的事件網站,Apple 於 10 月 19 日、Microsoft 於 10 月 20 日跟進。

Chrome 指出,封鎖前沒有鏈結至這六張中繼憑證的 TLS 憑證被記錄於憑證透明度(Certificate Transparency,CT)紀錄,因此要求 CT 的瀏覽器預設不會信任。

外洩原因說法不一

據外媒引述 Mozilla 事件報告,八張憑證使用 2025 年 4 月產生的 P-384 私鑰,數值小於 256,只要測試 256 種可能就能還原。eMudhra 向 Mozilla 表示,產生憑證所用的腳本出錯,導致較弱的金鑰被誤用於簽署,並稱多數受影響中繼憑證未用於正式環境,也未發現簽發給終端用戶的證據。另有外媒指出,金鑰如何外流、何時外流,目前仍不清楚。Mozilla 表示正與 eMudhra 調查根本原因,目前無證據顯示其他 CA 受類似影響。

撤銷資訊不會自動到位

瀏覽器會自行下載撤銷清單,但許多非瀏覽器用戶端不檢查撤銷資訊,會繼續信任這些中繼憑證,直到程式碼或根憑證套件更新。Dennis Jackson 表示:「許多其他用戶端不使用撤銷資訊,需透過軟體更新,才能不再信任這些遭外洩的中繼憑證。」Jackson 的事件網站也提醒,未強制檢查 CT 的用戶端理論上可能遭利用,但目前不知道是否有攻擊者實際得手。

Mozilla 給信任庫營運者的建議是:能可靠檢查撤銷的用戶端無須處理,能封鎖個別中繼憑證的軟體應立即封鎖這八張,其餘則考慮移除簽發它們的根憑證。

Go、certifi 與 Linux 套件的修補狀況

Go 程式語言專案釋出 1.27.3 與 1.26.10(CVE-2026-111943),標準函式庫的憑證驗證會濾除含有這些中繼憑證的憑證鏈。據外媒報導,此過濾無法關閉,應用程式須以新版重新編譯才生效,Go 1.25 以前版本已終止支援,不會獲得修補。Mozilla 另釋出 Firefox 158.0.1、ESR 115.43.1 與 153.5.1(CVE-2026-113470),涵蓋因設定而未收到撤銷更新的用戶,並透過 NSS(Network Security Services)3.131.1 移除根憑證 emSign ECC Root CA - G3。

Python certifi 與 Rust webpki-roots 的做法是從憑證套件移除該根憑證,Homebrew 還一併移除 Sectigo 的 AAA Certificate Services 與 emSign Root TLS CA - G3。副作用是以這些根憑證簽發的合法憑證也會失效,Mozilla 表示部分伺服器對 Firefox 以外的用戶將暫時無法連線,直到改用新憑證鏈。據 Jackson 網站,Ubuntu、Debian、Fedora、Arch Linux、Gentoo、Alpine Linux 已有更新套件,FreeBSD、Node.js 與 Bun 仍待修補。

macOS 內建 curl 須手動處理

macOS 的 /usr/bin/curl 讀取 /etc/ssl/cert.pem,該檔案尚未更新,也不檢查撤銷。Jackson 網站提供備份此檔並移除「AAA Certificate Services」與「emSign ECC Root CA - G3」項目的指令。Linux 發行版更新前,網站也列出取消信任這兩個根憑證的暫時作法,但不建議一般用戶使用,且未說明對其他憑證的影響,須先測試。

建議作法

  • 將作業系統與瀏覽器更新至最新版本。
  • Go 應用程式升級至 1.27.3 或 1.26.10 後重新編譯。
  • 更新憑證套件:NSS 3.131.1、curl CA bundle 2026-10-20、Python certifi 2026.10.19、pip 26.2.2、uv 0.13.4、Rust rustls-webpki 0.103.16、Composer ca-bundle 1.4.16 或 1.6.0。
  • 使用 Node.js、Bun 或 FreeBSD 者,留意後續修補。
  • 以 curl 連線 dv-g3b-emudhra.we-have-a-problem.com 與 dv-g3b-aaa-emudhra.we-have-a-problem.com,出現憑證錯誤代表用戶端已不信任這些中繼憑證。
  • 套用移除根憑證的作法前,先在測試環境確認不影響既有服務。

本文轉載自 DarkReading、BleepingComputer、TheHackerNews。