HTTPS 能信任,靠的是憑證機構(CA)保管好私鑰。印度憑證機構 eMudhra 10/17 被研究人員回報:旗下 8 個 emSign G3 中繼 CA 的私鑰可以被還原。eMudhra 隔天撤銷這 8 個中繼憑證,Apple、Google、Microsoft、Mozilla 等也已封鎖相關憑證並不再信任其 ECC 根憑證。問題是,很多開發工具不看作業系統的信任清單。
事件經過
- 2025/4/30:這 8 個中繼 CA 在金鑰產生儀式中建立。eMudhra 說明,是金鑰包裝/解包步驟產生出另一組弱金鑰,而弱金鑰才是被公開的那組。
- 2026/10/17:研究人員同時通報 eMudhra 與 Apple、Google、Microsoft、Mozilla;Mozilla 當天以 OneCRL 封鎖。
- 10/18:eMudhra 撤銷 8 個中繼 CA;Apple 10/19 起自動封鎖,10/23 起也封鎖 emSign ECC Root CA – G3。
- 10/20:Python 官方發布公告,要求更新 certifi、pip、uv 等工具。
- eMudhra 表示,這些中繼 CA 未簽發過公開信任的終端憑證,也沒有證據顯示弱金鑰在揭露前被人利用。
重點
| 環境 | 狀態 / 要做什麼 |
|---|---|
| Safari、Mail、Apple 系統 App | 已自動封鎖,不用動作 |
| Firefox | OneCRL 已封鎖;另有 158.0.1/ESR 更新 |
| Mac 終端機工具(curl、git、python3 等) | 使用 /etc/ssl/cert.pem,要等 macOS 更新,或依 Apple 說明手動移除根憑證 |
| Python pip | 必須升到 pip 26.2.2 以上:pip 一定會載入自帶的 certifi,只更新作業系統憑證不夠 |
| certifi / uv / conda | certifi 2026.10.19、uv 0.13.4、conda 26.9.4 以上 |
| Python 本體 | 3.15.2/3.14.10/3.13.18/3.12.16/3.11.18 會自動拒絕這些中繼憑證 |
| Docker 映像 | 要停用快取重建,才會拿到新的系統憑證 |
- 風險:有人握有這些私鑰,就能做出「看起來合法」的任意網站憑證,用來發動中間人攻擊,包括 pypi.org。
對你的實務建議
企業 / IT 管理者
- 所有 Python 環境、虛擬環境、CI runner、容器映像:pip 升 26.2.2、certifi 升 2026.10.19,映像停用快取重建。
- Python 官方建議用帶 SHA256 雜湊的直接網址安裝 pip,避免升級過程本身被中間人攻擊。
- Linux 主機更新 ca-certificates;Mac 開發機留意 Apple 的 /etc/ssl/cert.pem 更新。
- 盤點「自帶憑證清單」的軟體:Java truststore、Node、Electron App、IoT 設備韌體。
一般用戶
- 瀏覽器、手機、電腦保持自動更新就好,這次主要是開發者和 IT 要動手。
資料來源
- eMudhra 官方聲明(10/20 首發、10/26 更新):https://emudhra.com/en/post/certificate-security-incident
- Apple 支援文件(2026/10/23):https://support.apple.com/en-us/149555
- Python 官方公告(2026/10/20):https://discuss.python.org/t/information-for-python-users-regarding-emudhra-emsign-ca-certificate-security-incident/109576
- GitHub Advisory(certifi):https://github.com/advisories/GHSA-6q48-6c7w-9gw2
發表留言