Sectigo 交叉签名卷入 eMudhra 事件
Sectigo 曾用 AAA Certificate Services 根为 eMudhra 的 8 个弱中间 CA 交叉签名,这些交叉签名证书已于 2026-10-19 吊销。Sectigo 没有直接误签,也没有被浏览器整体撤信。
段子原句“无保险低价 Sectigo DV 证书(还没上 ACME 自动签发)”
- 编号
CVE-2026-111943- 严重度
- 无独立 CVE;属于 CVE-2026-111943 同一事件
- 利用状态
- 未见利用未见利用:没有证据显示 Sectigo 直签的 DV 证书被误签。未发现在野利用。
- 对段子公司
- 直签的 Sectigo DV 证书不受这次私钥问题影响。真实风险有两个:200 天有效期下手动续期容易漏;mTLS 的 CA 包里可能含交叉签名链。
- 影响范围
- Sectigo 的交叉签名中间证书共 8 张,与 eMudhra 原证书合计 16 张同钥证书。已知受影响 CA 签发的客户叶证书为 0 张。“无保险”不能按字面确认:Sectigo DV 标示 50 万美元 warranty,但它面向依赖方,不是给订户的事故保险。
- 修复版本
- →交叉签名证书已于 10-19 吊销
- →公开 TLS 证书最长 200 天(2026-03-15 起),2027-03-15 起降为 100 天
结论
此事已证实,但它不是 Sectigo 直接大规模误签。eMudhra 的 8 个中间 CA 私钥可被公开恢复。Sectigo 曾为这 8 个 CA 做交叉签名。Sectigo 的交叉签名证书已于 2026-10-19 吊销。[1] [4]
没有证据显示直签 Sectigo DV 叶证书被误签。也未找到 Sectigo 整体被浏览器撤信的公告。浏览器快速封锁了受影响密钥。未更新的非浏览器信任库仍可能接受伪造证书。[2] [3]
未部署 ACME 不会造成此次私钥泄露。它会放大证书替换和到期的运维风险。2026 年的 200 天期限规则与本案不同。该规则已使手动续期频率约翻倍。[8] [13]
事件经过
eMudhra 在 2025-04-30 生成了 24 个中间 CA。其中 8 个为 B、C 系列的 P-384 密钥。这 8 个密钥涵盖 6 个 TLS CA。另有 2 个代码签名 CA。Sectigo 于 2025-05-14 用 AAA Certificate Services 交叉签名。交叉签名不会更换下级 CA 的公钥。[1] [4]
研究员在 2026-10-17 向根计划报告。研究员提供了 8 个私钥的签名证明。Chrome 在 100 分钟内完成复核。Chrome 随后按 SPKI 哈希封锁 6 个 TLS CA。SPKI 封锁也覆盖 Sectigo 的同钥交叉签名证书。[2]
Mozilla 也用 OneCRL 封锁了全部 8 个证书。eMudhra 吊销其原始签发的 CA 证书。Sectigo 随后吊销 8 张交叉签名证书。吊销原因是 ca_compromise。该处置不是订户 DV 证书的批量吊销。[3] [4]
本案的 CVE 是 CVE-2026-111943。它记录 Go 对该 CA 风险的缓解。它不是 eMudhra 或 Sectigo 的软件缺陷编号。本次核查时,NVD 未返回该 CVE 条目。因此未找到 CVSS 分数。[5] [15]
技术细节
根因是 eMudhra 的密钥生成仪式脚本缺陷。该仪式加入了密钥封装测试偏离项。脚本又生成了一对很弱的 ECC 密钥。相似的标签导致人员将弱密钥用于 CSR。该 CSR 同时被 eMudhra 根和 Sectigo 签发。这不是 DCV 域名验证绕过。[1]
受影响私钥的 P-384 标量均小于 256。攻击者可枚举 255 个可能值。攻击者可在极短时间恢复对应私钥。攻击者无需入侵 Sectigo 或 eMudhra。攻击者可签发伪造的 TLS 叶证书。攻击者还需位于受害连接的网络路径上。[1] [2]
| 范围 | 受影响 CA |
|---|---|
| TLS DV | EM DV TLS CA - G3B、EM DV TLS CA - G3C |
| TLS OV | EM OV TLS CA - G3B、EM OV TLS CA - G3C |
| TLS EV | EM EV TLS CA - G3B、EM EV TLS CA - G3C |
| 代码签名 | EM OV CS CA - G3B、EM OV CS CA - G3C |
每个受影响密钥对应两张中间证书。一张由 eMudhra 根签发。另一张由 Sectigo 的 AAA Certificate Services 签发。两张证书共享相同的 SPKI。因此同一私钥可服务两条验证链。[4]
Chrome 默认强制公开 TLS 证书具备 CT 记录。在封锁前,6 个 TLS CA 没有 CT 叶证书记录。所以默认 Chrome 不能信任其伪造的公开 TLS 证书。此结论不覆盖未强制 CT 的客户端。它也不覆盖默认不检查吊销的程序库。[2] [6]
CA/B Forum 对下级 CA 私钥泄露给出七天上限。24 小时和五天规则主要适用于订户证书。受影响的 Sectigo 交叉签名属于下级 CA 证书。Sectigo 约在获悉后 40.5 小时完成吊销。该速度早于七天上限。未验证 Sectigo 的额外通知义务。[4] [8] [10]
影响范围
| 项目 | 已核实范围 |
|---|---|
| 可恢复的中间 CA 私钥 | 8 个 |
| 可签发 TLS 的中间 CA | 6 个 |
| 其中 DV TLS 中间 CA | 2 个 |
| 可签发代码的中间 CA | 2 个 |
| Sectigo 交叉签名中间证书 | 8 张 |
| 两方合计的同钥中间证书 | 16 张 |
| 已知受影响 CA 签发的客户叶证书 | 0 张 |
| 已知在野利用 | 未找到 |
| 公开披露的资金损失 | 未找到 |
Google 确认封锁前没有相关 TLS CT 记录。eMudhra 表示没有签发客户证书。这两项不能证明非浏览器客户端未受攻击。它们只证明未发现可用于 CT 浏览器的叶证书。伪造证书也可能不提交到 CT 日志。[2] [7]
Firefox 已通过 OneCRL 保护标准配置用户。Chrome 已通过 CRLSet 保护标准配置用户。Mozilla 还从 NSS 3.131.1 移除了上游根。Chrome 计划从根库移除 emSign ECC Root CA - G3。后两项可能让该根下的正常网站失效。它们不等于撤销对所有 Sectigo 根的信任。[2] [3] [14]
时间线
- 2025-04-30 UTCeMudhra 生成受影响的 8 个 P-384 中间 CA 密钥。[1]
- 2025-05-14 08:00 UTC+8Sectigo 交叉签名证书开始有效。[4]
- 2026-10-18 02:05 UTC+8Chrome 收到研究员的私钥泄露报告。[2]
- 2026-10-18 03:45 UTC+8Chrome 完成复核并发布 CRLSet 封锁。[2]
- 2026-10-18 04:06 UTC+8Mozilla 收到同一报告。[3]
- 2026-10-18 06:59 UTC+8Mozilla 完成 OneCRL 分发。[3]
- 2026-10-18 17:24 UTC+8eMudhra 吊销原始 EM DV TLS CA - G3B 证书。[4]
- 2026-10-19 18:35:36 UTC+8Sectigo 吊销对应交叉签名证书。[4]
- 2026-10-20 UTC
- 2026-10-20 UTCGo 发布 1.27.3 和 1.26.10 安全更新。[5]
- 2026-10-21 18:38:25 UTC+8Node.js 发布 24.22.1 LTS。[6]
- 2026-10-27 上午 PDT计划Chrome 计划推送根库移除。该日期尚未来到。[2]
修复与缓解
先检查服务实际发送的证书链。如果链含 EM DV TLS CA - G3B 或 G3C,应立即换证。应从未受影响的 PKI 层级重新签发。还应移除旧中间证书链。[4]
应更新所有出站 TLS 信任库。不要只更新浏览器。应更新容器基础镜像后重新构建。也应重启长期运行的服务。不应通过关闭证书校验来消除报错。[6] [7]
下表列出已公开的主要修复版本。使用非列出平台时,应采用其供应商的更新。
| 组件 | 修复版本或动作 |
|---|---|
Go crypto/x509 | 1.26.10、1.27.3 |
| Node.js 24 LTS | 24.22.1 |
| NSS | 3.131.1 |
Ubuntu ca-certificates | 20260816ubuntu0.22.04.1 或更高 |
Python certifi | 2026.10.19 |
Rust rustls-webpki | 0.103.16 |
Rust webpki-roots | 1.0.10 |
Go 的修复会过滤含受影响 CA 的验证链。Node.js 的修复内置 SPKI 拒绝表。Node.js 仅在没有关闭证书校验时有效。certifi 与 Rust 版本来自社区更新清单。这些 Rust 上游发布正文未独立验证。[5] [6] [7]
应检查 mTLS 的专用 CA 包。若包中含 AAA Certificate Services,应移除。若包中含 eMudhra 受影响链,也应移除。应保持 mTLS 在验证失败时拒绝连接。段子中的 fail-open 会增加认证绕过风险。具体 Traefik 配置未提供,故未验证。
CA/B Forum 的期限规则是独立风险。公开 TLS 证书自 2026-03-15 起最长 200 天。DCV 数据的最长复用期也是 200 天。Sectigo 从 2026-03-12 起执行 199 天证书期。Sectigo 同时执行 198 天 DCV 复用期。2027-03-15 将降至 100 天。2029-03-15 将降至 47 天。因此应使用 ACME 或等效自动化进行续签。ACME 不会修复这次 CA 私钥泄露。[8] [9] [13]
对段子中公司的影响
该公司购买的 Sectigo DV 叶证书未必受影响。必须检查其 issuer 和完整证书链。只有链入受影响 eMudhra 中间 CA 才直接命中。没有证据表明普通 Sectigo DV 叶证书需本案换证。[2] [4]
该公司的出站 TLS 风险更高。Go 网络沙箱可能使用旧版 crypto/x509。Node.js 24 服务可能低于 24.22.1。Python Harness 可能捆绑旧版 certifi。Rust 组件可能捆绑旧版 webpki-roots。攻击者若处于网络路径,可伪造任意服务端。攻击者可借此拦截 API 或模型调用流量。[5] [6] [7]
段子称公司昨夜安装了新 PyPI 包。这不等于 certifi 已更新至 2026.10.19。需要逐个检查虚拟环境和容器。浏览器已更新也不能证明后台服务安全。[6] [7]
公司未部署 ACME 会增加本地证书处置负担。发生强制换证时,运维需要人工完成签发和部署。证书在 200 天规则下也更容易因漏续期而中断。本案没有强制该公司的普通 Sectigo DV 证书换证。因此 ACME 缺失是运营放大因素,不是受害前提。[9] [13]
“无保险”说法不能按字面确认。Sectigo 当前公开 DV 产品标示 50 万美元 warranty。该 warranty 面向依赖方,不面向证书订户。订户协议还将责任限于已付服务费。具体 SKU、转售条款与赔付触发条件未提供。公司不能将这项 warranty 当作事故响应保险。[11] [12]
存疑与未验证
- 未找到 Sectigo 单独发布的本案客户公告。
- 未找到 Sectigo 直接签发 DV 叶证书受影响的证据。
- 未找到已证实的在野利用、受害用户数或资金损失。
- 未找到
CVE-2026-111943的 NVD CVSS 分数。 - 未验证公司实际证书链、SKU、warranty 和 ACME 状态。
- 未验证公司是否关闭 TLS 校验或包含私有 CA 包。
- Rust 修复版本来自社区清单,未独立核对发布正文。
参考资料
- [1] eMudhra: Private key compromise of Intermediate Certificates
- [2] Protecting Chrome and Android Users from Compromised eMudhra Intermediate CA Certificates
- [3] Protecting Firefox users following the compromise of eMudhra intermediate certificates
- [4] eMudhra impacted intermediates inventory
- [5] Go 1.27.3 and Go 1.26.10 are released
- [6] Node.js 24.22.1 Krypton LTS release
- [7] eMudhra Intermediate CA Compromise
- [8] CA Browser Forum TLS Baseline Requirements 2.3.1
- [9] 2026 updates that affect certificate issuance validation trust and renewals
- [10] Sectigo TLS Certification Practice Statement 6.1.5
- [11] Sectigo DV SSL Certificates
- [12] Sectigo Certificate Subscriber Agreement 2.1
- [13] 200-day certificates are starting to expire
- [14] NSS 3.131.1 Release Important Security Updates
- [15] NVD CVE-2026-111943 lookup
调研截止 2026-10-22 UTC+8 · 未验证的内容已在正文中标注 · 数字以原始来源为准