eMudhra 中间 CA 泄露详情及修复指南
八个 eMudhra 中间证书颁发机构(CA)证书的私钥遭到泄露,对网站仿冒构成了重大威胁。这些受影响的证书链接到受主要供应商(包括 Mozilla、Microsoft、Apple 和 Chrome)信任的根程序,需要用户和开发者立即采取行动。
了解泄露事件
此次泄露并非典型的密钥盗窃,而是源于 eMudhra 密钥生成仪式过程中的一个根本性缺陷。用于八个中间 CA 的私钥本身就很弱,特别是在 ECC 密钥生成中使用了小于 256 的整数。这一弱点意味着私钥可以被轻易恢复,实际上相当于单字节密钥。
根本原因分析
根据 eMudhra 的初步评估,根本原因是密钥生成过程中的人为错误。CA 在其常规密钥生成仪式(KGC)脚本中引入了一个批准的偏差,以测试用于导出的包装/解包流程。这个有缺陷的脚本无意中创建了第二组较弱的测试密钥。这些弱密钥随后被错误地用于创建证书签名请求(CSR),并由根 CA 签名,同时由 Sectigo 进行交叉签名。
即时行动和安全后果
主要信任库运营商迅速采取行动,以减轻仿冒风险。受影响的证书已在关键平台上被阻止,CA 本身也已撤销了受影响的中间证书。
浏览器和操作系统修复时间线
- Firefox 和 Chrome: 自 2026 年 10 月 17 日起阻止证书。
- Apple 设备: 自 2026 年 10 月 19 日起开始阻止。
- Microsoft: 自 2026 年 10 月 20 日起开始阻止。
安全风险评估
拥有任何受影响中间 CA 私钥的攻击者都可以冒充任何网站或服务。虽然浏览器供应商已使用撤销工具(如 OneCRL、CRLite 和 CRLSets)来保护其用户,但对于不消费撤销信息且需要软件更新以确保不再信任受影响中间证书的客户端,风险仍然很高。
用户和开发者的修复步骤
用户必须尽快将浏览器和操作系统更新到最新版本。对于开发者和系统管理员,需要为各种软件包应用特定补丁:
开发者和软件补丁
| 软件 | 补丁版本 | 链接 |
|---|---|---|
| Go | 1.27.3, 1.26.10 | golang-announce |
| Electron | 44.9.1, 43.8.1, 42.11.16 | electron/electron/releases/tag/v44.9.1 |
| Python certifi | 2026.10.19 | certifi/python-certifi/releases/tag/2026.10.19 |
| Rust rustls-webpki | 0.103.16 | rustls/webpki/releases/tag/v%2F0.103.16 |
| Rust webpki-roots / webpki-root-certs | 1.0.10 | rustls/webpki-roots/releases/tag/v%2F1.0.10 |
| Homebrew ca-certificates | 2026-09-25_1 | Homebrew/homebrew-core/blob/d02b8762f4a29859c47a635a0d2683223fea9812/Formula/c/ca-certificates.rb |
| NSS | 3.131.1 | mozilla.org/g/dev-tech-crypto/c/vSxZxnOMMvs |
| uv | 0.13.4 | astral-sh/uv/releases/tag/0.13.4 |
高级系统变通方法
对于无法立即更新操作系统的用户,可以手动不信任受影响的根证书,但这不推荐普通用户操作。
- macOS: 用户可以使用
awk从/etc/ssl/cert.pem中移除受影响的根证书,以防止内置的/usr/bin/curl信任受影响的中间证书。 - Linux(Debian/Ubuntu): 可以通过修改
/etc/ca-certificates.conf并运行update-ca-certificates来不信任受影响的根证书。 - Linux(Fedora/RHEL/CentOS): 可以将受影响的根证书添加到系统阻止列表目录(
/etc/pki/ca-trust/source/blocklist),并使用trust extract和update-ca-trust更新信任库。 - NetBSD: 可以使用
certctl untrust不信任受影响的根证书。
PKI 中的系统性漏洞
此事件凸显了当前公钥基础设施(PKI)生态系统中的几个系统性弱点,特别是在证书撤销和信任分发方面。
撤销挑战
虽然中间 CA 被设计为可快速撤销而不影响根 CA,但这一机制的有效性并不均衡。主要浏览器供应商已投资于先进的撤销工具,但许多其他客户端和软件包缺乏此能力,因此它们必须依赖软件更新来识别泄露。
嵌入式信任库
许多软件供应商在其二进制文件中嵌入了自己的 CA 信任库版本。这造成了重大漏洞,因为修补系统范围的 CA 捆绑包不会自动保护这些应用程序,导致许多系统在特定应用程序更新之前仍然易受攻击。
政策改革的必要性
对此事件的评论表明,核心问题不仅仅是技术性的,而是根本的证书政策和执行失败。当前系统允许 CA 为任何域担保,无论地理或组织范围如何。批评者主张转向域特定限制,类似于 SPF 限制邮件服务器表示的方式,以防止此类大规模泄露产生如此广泛的爆炸半径。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch