2026 年 8 月 10 日,Mozilla 披露咗一單嚴重嘅安全事故:一個用嚟簽署 Firefox 同 Thunderbird Linux 版本嘅 GPG 私密子金鑰,因為員工失誤,以無加密嘅形式 commit 咗去一個私人 GitHub 倉庫 。Mozilla 即刻撤銷咗舊金鑰,並換咗個新嘅。
點樣洩漏出嚟?
呢個 GPG 私密子金鑰本身用嚟簽署 Linux tarball、RPM 套件同 checksum 檔案。一個 Mozilla 員工唔小心將呢個金鑰嘅無加密複本 commit 咗去一個私人 GitHub 倉庫 。雖然呢個倉庫得 Mozilla 內部一個細 group 嘅人可以存取,但問題係呢個金鑰檔案完全冇用密碼保護 。
Mozilla 調查結果係點?
Mozilla 查過審計紀錄之後話,冇發現任何證據顯示呢個金鑰俾未授權嘅人存取過 。因爲可以存取到呢個私人倉庫嘅人,本身就已經有權限用到呢個金鑰 。所以 Mozilla 評估,因為呢單嘢而引發實際供應鏈攻擊(例如有人用呢個金鑰簽署惡意安裝檔)嘅風險係 偏低 。
佢哋採取咗咩行動?
-
撤銷金鑰:Mozilla 用 reason code 2 嚟撤銷咗被洩漏嘅金鑰。喺 GPG/OpenPGP 標準入面,code 2 代表「金鑰材料已經受到損害」(即係 KEY_COMPROMISE)。
-
更換新金鑰:新嘅 GPG 簽署子金鑰指紋係:
827E 6586 0867 9618 CD34 9F93 678E 455D 7676 7AA3
呢個子金鑰有效期去到 2028 年 8 月 5 日 。主金鑰指紋係 14F2 6682 D091 6CDD 81E3 7B6D 61B7 B526 D98F 0353 。
-
內部防範措施:Mozilla 加咗內部機制,防止將來再發生類似嘅錯誤 commit 。
-
撤銷嘅影響:因為 GPG 撤銷係永久嘅,所以如果你匯入咗撤銷資訊,用舊金鑰簽署嘅檔案就會 停止驗證。呢個唔單止影響將來嘅下載,連之前嘅舊版本都會受影響 。
邊啲用戶要採取行動?
大部分用戶 — 乜都唔使做。 Mozilla 官方指引講明:「對大部分用戶嚟講,唔需要採取任何行動」。自動更新機制會幫你處理好金鑰轉換。
以下情況就需要手動處理:
| 情況 | 需要做嘅嘢 |
|---|
| Fedora 42 或之前、RHEL、Rocky Linux、AlmaLinux | dnf 喺呢啲版本冇辦法自動更換金鑰。更新時會出現「Import of the key didn't help, wrong key?」或者「The GPG keys listed for the mozilla repository are already installed but they are not correct for this package。」等錯誤。用戶要手動移除舊金鑰,然後匯入新金鑰 。 |
| openSUSE / SUSE 系列發行版 | zypper 都換唔到金鑰。更新會失敗,出現「Signature verification failed」或者「NOKEY。」同樣要手動移除再匯入 。 |
| Fedora 43 及之後版本 | 唔使特別做嘢。dnf 會喺下次更新時自動下載新金鑰,用戶只需要確認指紋係 827E 6586 0867 9618 CD34 9F93 678E 455D 7676 7AA3 就得 。 |
| 習慣手動驗證 GPG 簽名嘅用戶 | 要手動匯入新簽署金鑰同埋舊金鑰嘅撤銷資訊 。 |
| Thunderbird RPM 用戶 |