開發工具面臨的具體安全風險
由於 macOS 內建的 git、curl、python3、ruby、perl 和 openssl 等工具會直接讀取 /etc/ssl/cert.pem 來驗證憑證,且不會檢查 Apple 系統層級的阻擋清單或憑證撤銷狀態,這些工具目前仍接受由 eMudhra 受影響中間 CA 簽發的憑證。
這意味著透過 HTTPS 協定進行的 git 操作(如 clone、pull、push)以及 curl 請求,都可能被網路路徑上的攻擊者攔截或篡改。例如,git 從遠端倉庫拉取的程式碼可能被替換為攻擊者指定的內容,推送的資料可能在傳輸中被修改,而 GitHub Token 等憑證也可能在過程中被竊取。
攻擊者只需位於使用者與目標伺服器(如 GitHub)之間的網路路徑上,即可透過重導向流量並出示由受影響 eMudhra CA 簽發的偽造憑證來進行攻擊,無需額外設定即可生效。
Apple 的防護機制與系統更新衝突
Apple 於 2026 年 10 月 19 日開始自動阻擋 eMudhra 受影響的 12 張 TLS 憑證,並於 10 月 23 日進一步阻擋 emSign ECC Root CA - G3。這些更新透過配置資料自動推送至裝置,無需安裝新的作業系統版本即可在 Safari、Mail 及使用 Apple 網路安全框架的應用程式中生效。
然而,對於依賴 /etc/ssl/cert.pem 的命令列工具,Apple 表示將透過未來的軟體更新來修正此問題。在此之前,該檔案仍包含受影響的根憑證,導致這些工具無法自動繼承系統層級的防護。
值得注意的是,macOS 27.2(於 10 月 26 日發布)並未修復命令列工具的驗證漏洞,反而還原了使用者先前手動從 /etc/ssl/cert.pem 移除受影響憑證的修正動作,使得已採取防護措施的使用者重新暴露於風險中。
受影響憑證範圍與技術細節
此次事件源於 eMudhra 營運的八個中間 CA 私鑰遭洩密。其中兩個 CA 簽發程式碼簽署憑證,Apple 框架已不信任;其餘六個 CA 簽發 TLS 憑證,持有這些私鑰者可為任何網站建立看似有效的憑證。
受影響的六個 TLS 中間 CA 各擁有兩張憑證,共計 12 張。這些憑證分別由 emSign Root TLS CA - G3(鏈結至 emSign ECC Root CA - G3)簽發,或由 Sectigo 交叉簽名(鏈結至 AAA Certificate Services)。eMudhra 與 Sectigo 已撤銷受影響的憑證。
Apple 建議系統管理員或開發者若需立即防護,可手動從 /etc/ssl/cert.pem 中移除這些根 CA 憑證。但此操作會影響所有使用該檔案的工具,可能導致無法驗證某些透過未受影響中間 CA 鏈結至這些根憑證的網站。
使用者檢查與臨時防護步驟
開發者可透過執行特定指令來檢查本地 git 是否受影響:`git ls-remote https://git-emudhra.we-have-a-problem.com/check.git`。若出現憑證錯誤,表示已受保護;若能列出 commit,則表示易受攻擊。
對於 curl,可執行 `curl https://dv-g3b-noct-emudhra.we-have-a-problem.com/` 與 `curl https://dv-g3b-aaa-noct-emudhra.we-have-a-problem.com/` 進行測試。同樣地,憑證錯誤代表已受保護。
若選擇手動修正,需使用管理員權限編輯 /etc/ssl/cert.pem 並移除相關根憑證。由於 macOS 更新可能會還原此檔案,使用者需在每次系統更新後重新執行檢查與修正步驟,直到 Apple 發布包含正式修復的軟體更新為止。




