2026年8月10日,Mozilla披露了一起严重的安全事件:一名员工误将一个未加密的GPG私钥子密钥副本提交到了私有GitHub仓库,迫使Firefox和Thunderbird Linux构件的签名密钥紧急轮换。以下是该事件的完整解读及相关背景。
密钥是如何泄露的
该GPG私有子密钥用于签署Linux tarball、RPM包和校验和文件。它是由一名Mozilla员工无意中以明文(未加密)形式提交到一个私有GitHub仓库的。该仓库本身仅对Mozilla内部一小部分人可见,问题在于密钥文件存储时没有密码保护。
Mozilla调查结果
Mozilla审查了现有的审计记录,未发现任何证据表明该密钥在被泄露期间被未授权方访问过。访问该仓库的人员本来就通过其他途径拥有对该密钥的授权。Mozilla评估认为,实际发生供应链攻击(例如攻击者分发带有恶意签名的安装程序)的风险为低。
已采取的措施
-
撤销:Mozilla使用理由代码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添加了内部防护措施,以防止未来再次发生类似的意外提交。
-
撤销的影响:由于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用户 | 无需RPM方面的特殊操作——Thunderbird并未提供官方RPM包。 |
针对受影响发行版的手动移除和导入命令如下: