eMudhra 证书事件:AdGuard 如何应对
与证书颁发机构 eMudhra 相关的一起安全事件,促使浏览器和操作系统厂商屏蔽了它的多张证书。由于 AdGuard 在过滤 HTTPS 流量时同样要校验服务器证书,我们也需要在自己的应用中处理这个问题。
我们迅速行动,发布了紧急更新。下面介绍事情的经过、我们做了哪些改动,以及您需要做什么才能继续获得保护。
eMudhra 证书究竟出了什么事?
eMudhra 是一家证书颁发机构,其证书此前受到各大浏览器和操作系统的信任。证书颁发机构在 HTTPS 中扮演着重要角色:它们帮助浏览器确认某个网站确实是它声称的那个网站。
2026 年 10 月 17 日,一位安全研究人员报告称,八张 eMudhra 中间证书的私钥已遭泄露。这些密钥在生成时所用的随机性极弱,因此只需拿到公开的证书,就能在不到一秒内还原出来。拿到这些密钥的人可以借此签发伪造证书,冒充那些原本会被浏览器信任的网站。截至本文发布,尚无公开报告显示这些密钥已被用于实际攻击。
浏览器厂商反应迅速:报告发出后数小时内,Google 和 Mozilla 便撤销了对受影响证书的信任,Apple 和 Microsoft 随后跟进。问题根源在于 eMudhra 密钥生成流程中的缺陷。AdGuard 本身并未牵涉其中,但这起事件要求我们调整 AdGuard 处理 HTTPS 流量的方式。
开启 HTTPS 过滤后,AdGuard 会自行校验服务器证书,以便检查加密流量、拦截广告和跟踪器。这些校验的严格程度至少要达到浏览器的水平,必要时还得更加保守。
AdGuard 如何应对
我们把私钥已泄露的 eMudhra 证书加入了拦截列表,并为所有支持 HTTPS 过滤的 AdGuard 应用推送了紧急更新。
修复已包含在以下版本中:
- AdGuard Windows版:8.0.3
- AdGuard Android版:4.15.1
- AdGuard Mac版:2.20.2
- AdGuard Linux版:1.5
团队争分夺秒,以最快速度交付了这些修复,好几位同事一直忙到深夜才把更新准备好。感谢每一位参与这次应急响应的同事。保护用户的安全与隐私是我们认真对待的责任,在证书校验方面尤其如此。
这对用户意味着什么?
在使用受影响证书的网站上,AdGuard 的 HTTPS 过滤将被停用,改由浏览器校验连接,并自行处理证书安全警告。
这是有意为之:AdGuard 绝不能妨碍浏览器就潜在的不安全连接向您发出警告。代价是这些网站上可能会出现广告,因为 AdGuard 无法过滤其 HTTPS 流量。
为了获得最佳保护,请将 AdGuard 更新到您所用平台的最新版本。另外,建议使用已不再信任这些受影响证书的新版浏览器,例如 Chrome、Edge、Opera、Brave、Vivaldi 或 Firefox。
还在用 AdGuard Windows 版 v7.x?
AdGuard Windows 版 v8.x 现已是我们的主要开发分支,v7.x 也不再作为主要更新分支积极维护。不过我们知道,有些用户出于各种原因可能仍在使用 v7,我们不希望他们错过这项重要的安全修复。
因此我们发布了 AdGuard Windows 版 v7.22.10,其中包含针对私钥已泄露的 eMudhra 证书的同一项修复。这是一次性的安全更新,并不表示 v7 恢复积极维护。
重要提示:v7.22.10 不会通过应用内置的更新器推送。您需要从 GitHub 手动下载并安装。
更新步骤:
- 打开 GitHub 上的 AdGuard Windows 版发布页面。
- 找到 v7.22.10 版本,下载其安装程序。
- 运行安装程序,按屏幕提示操作。
如果您仍在使用 v7.x,请务必安装这次更新。如果您已经在用 v8.x,请更新到 8.0.3 或包含该修复的更新版本。
部分 Windows 7 用户还需额外一步
更新之后,部分 Windows 7 用户可能还需要手动安装一张根证书,AdGuard 才能恢复正常运行。
原因在于:AdGuard Windows 版 v7.x 使用 Sectigo 证书为其文件进行数字签名,AdGuard 服务启动时,Windows 会校验这一数字签名。然而部分 Windows 7 系统缺少根证书 Sectigo Public Code Signing Root R46,缺少这张证书就无法验证签名。该证书于 2021 年签发,晚于 Windows 7 支持终止的时间,因此可能无法通过 Windows Update 获取。
缺少这张证书,Windows 就无法验证 AdGuard 的数字签名,服务可能启动失败,并显示「出错了」提示。
修复方法:
从 Sectigo 官方网站下载 Sectigo Public Code Signing Root R46 证书。
安装前请先校验证书。 在保存该文件的文件夹中打开命令提示符,然后运行:
certutil -hashfile SectigoPublicCodeSigningRootR46.crt SHA256结果必须是:
7e76260ae69a55d3f060b0fd18b2a8c01443c87b60791030c9fa0b0585101a38
请忽略空格与字母大小写。如果哈希值不匹配,请勿安装该证书,并联系 AdGuard 支持团队。
以管理员身份运行下载的文件,然后选择「安装证书」。
选择「本地计算机」。
选择「将所有证书都放入下列存储」,再选择「受信任的根证书颁发机构」。
点击「完成」,然后重启电脑。
Windows 可能会提示无法验证证书的发布者。安装根证书时出现这一提示属于正常现象。
这是一项本地修复:它在受影响的电脑上恢复数字签名校验,让 AdGuard 服务能够启动。
您的安全对我们至关重要
这类安全事件提醒我们:证书校验为何重要,以及一旦出现问题为何必须迅速响应,即使问题的源头在 AdGuard 之外。问题一经确认,我们便立即行动,在所有支持的平台上发布了修复,还为仍在使用 AdGuard Windows 版 v7.x 的用户专门准备了更新。
如果您有疑问、在更新时遇到问题,或想就这些改动给我们反馈,欢迎到 GitHub 告诉我们。您的报告和反馈有助于我们改进 AdGuard,让您的上网更安全。










