EMudhra Intermediate CA Compromise

EMudhra Intermediate CA Compromise

The private keys of eight eMudhra intermediate CA certificates have been compromised. They chain to roots trusted by the Mozilla, Microsoft, Apple and Chrome root programs and by many downstream trust stores.

八个 eMudhra 中间证书颁发机构(CA)的私钥已遭到泄露。这些证书链接至受 Mozilla、微软、苹果和 Chrome 根证书计划以及许多下游信任存储所信任的根证书。

To demonstrate that the keys are compromised, the original reporter Wayne signed the following message with the private key of each of the eight intermediate CAs and reported it to the Root Program Teams on the 17th of October:

为了证明这些密钥已被泄露,最初的报告者 Wayne 使用这八个中间 CA 中每一个的私钥签署了以下消息,并于 10 月 17 日向根证书计划团队进行了报告:

We have a problem here - Wayne

我们这里出了点问题 - Wayne

proof.zip contains the message, and for each intermediate the certificate, its public key and a signature on the message. To verify with OpenSSL:

proof.zip 文件中包含了该消息,以及每个中间证书的证书、公钥和针对该消息的签名。若要使用 OpenSSL 进行验证:

The root programs and many downstream trust stores have taken action to protect their users. The certificates have been blocked in Firefox and Chrome since the 17th of October and in Apple devices since the 19th.

根证书计划和许多下游信任存储已采取行动以保护其用户。这些证书自 10 月 17 日起已在 Firefox 和 Chrome 中被拦截,自 19 日起已在苹果设备中被拦截。

The issue was responsibly disclosed to downstream trust stores on the 19th of October. Many have already released updates or are in the process of releasing updates.

该问题已于 10 月 19 日负责任地披露给下游信任存储。许多机构已经发布了更新,或者正在发布更新的过程中。

An attacker with the private key of any of the compromised intermediate CAs could impersonate any website or service.

任何持有被泄露中间 CA 私钥的攻击者都可以冒充任何网站或服务。

This has already been remediated by Mozilla, Apple and Chrome for their users through their tools for distributing revocation information such as OneCRL, CRLite and CRLSets.

Mozilla、苹果和 Chrome 已通过其分发吊销信息工具(如 OneCRL、CRLite 和 CRLSets)为用户解决了这一问题。

The CA has also revoked the compromised intermediate certificates. However, many other clients do not consume revocation information and require software updates to ensure they no longer trust the compromised intermediates.

该 CA 也已吊销了被泄露的中间证书。然而,许多其他客户端并不使用吊销信息,需要通过软件更新来确保它们不再信任这些被泄露的中间证书。

To check curl or other command-line clients, run:

若要检查 curl 或其他命令行客户端,请运行:

A certificate error means the client does not trust the compromised intermediates.

出现证书错误意味着客户端不信任这些被泄露的中间证书。

To check a trust store offline, chains.zip contains the certificate chain served by each of the twelve hosts above in PEM format, with instructions for verifying them with OpenSSL.

若要离线检查信任存储,chains.zip 包含了上述十二个主机所提供的 PEM 格式证书链,并附有使用 OpenSSL 进行验证的说明。

impacted-intermediates.json lists the eight intermediates and their Sectigo cross-signs. roots.json lists the roots they chain to.

impacted-intermediates.json 列出了这八个中间证书及其 Sectigo 交叉签名。roots.json 列出了它们所链接到的根证书。

The private keys for the intermediate certificates were incorrectly generated by the CA. This means that anyone can recover them from the certificates.

这些中间证书的私钥是由该 CA 错误生成的。这意味着任何人都可以从证书中恢复出这些私钥。

This would have been possible since the certificates were created in April 2025. There are no entries in the certificate transparency logs for these intermediates in that period, indicating that CT-enforcing clients like Firefox, Chrome, Edge and Safari could not have been attacked.

自 2025 年 4 月这些证书创建以来,这种情况就一直存在。在此期间,证书透明度日志中没有这些中间证书的条目,这表明像 Firefox、Chrome、Edge 和 Safari 这样强制执行 CT 的客户端未受到攻击。

However, many clients outside of the browser ecosystem do not enforce Certificate Transparency. We do not know if attackers exploited the flawed key generation to target these clients.

然而,浏览器生态系统之外的许多客户端并不强制执行证书透明度。我们不知道攻击者是否利用了这种有缺陷的密钥生成方式来针对这些客户端。

Further technical information about the cause is captured in the initial incident report in Mozilla’s bug tracker.

关于此原因的进一步技术信息已记录在 Mozilla 错误跟踪系统的初始事件报告中。

Please see this thread in Mozilla’s dev-security-policy forum.

请参阅 Mozilla 的 dev-security-policy 论坛中的此主题。

Users should update their browsers and operating systems to the latest versions as soon as possible.

用户应尽快将浏览器和操作系统更新至最新版本。

Add more at github.com/galadran/we-have-a-problem.com.

更多信息请访问 github.com/galadran/we-have-a-problem.com。

macOS blocks the compromised intermediates, but the built-in /usr/bin/curl verifies certificates against /etc/ssl/cert.pem without checking revocation, and that file has not been updated. To remove the affected roots from it, run:

macOS 会拦截这些被泄露的中间证书,但内置的 /usr/bin/curl 在验证证书时会对照 /etc/ssl/cert.pem,且不会检查吊销状态,而该文件尚未更新。若要从中移除受影响的根证书,请运行:

Until a distribution ships an updated ca-certificates package, expert users can distrust the affected roots in the system trust store. This is NOT recommended for ordinary users.

在发行版发布更新后的 ca-certificates 软件包之前,专家用户可以在系统信任存储中取消对受影响根证书的信任。不建议普通用户执行此操作。

On Debian and Ubuntu, run as root:

在 Debian 和 Ubuntu 上,以 root 身份运行:

On Alpine, run as root:

在 Alpine 上,以 root 身份运行:

On Fedora, RHEL, CentOS Stream, Rocky Linux, AlmaLinux and Amazon Linux 2023, run as root:

在 Fedora、RHEL、CentOS Stream、Rocky Linux、AlmaLinux 和 Amazon Linux 2023 上,以 root 身份运行:

On openSUSE and SLES, run as root:

在 openSUSE 和 SLES 上,以 root 身份运行:

On Arch Linux, run as root:

在 Arch Linux 上,以 root 身份运行:

On NixOS, add to your configuration:

在 NixOS 上,添加到您的配置中:

On NetBSD 10 and later, run as root:

在 NetBSD 10 及更高版本上,以 root 身份运行:

On FreeBSD 14 or later, run the following commands as root:

在 FreeBSD 14 或更高版本上,以 root 身份运行以下命令:

Site published by Dennis Jackson. The source is on GitHub and PRs are welcome.

本网站由 Dennis Jackson 发布。源代码位于 GitHub 上,欢迎提交 PR。