CVE-2026-111943
约 3 分钟阅读
- Go
crypto/x509对已失陷中间 CA 的拒绝检查;对应 GO-2026-6809Go 包vuln/GO-2026-6809Go,影响入口为Certificate.Verify - 背景是 eMudhra 中间 CA 私钥失陷事件笔记2026-10 eMudhra 中间 CA 私钥失陷事件类型:WebPKI / CA 密钥生成与信任分发事件;首次报告 2026-10-17,多方于 2026-10-20 发布公告;首次整理 2026-10-23,CVE 关联与厂商追加声明核对 2026-10-26 · 八组 eMudhra 中间 CA 密钥因生成缺陷而可恢复,攻击者可利用对应签发权限伪造证书;Google、Mozilla 和发现方资料...打开:/notes/security/incident/2026-10-17-emudhra-ca-compromise;该事件的密钥生成缺陷发生在 CA 侧,Go 的修复是在证书验证时拒绝受损公钥
- Go 安全版本发布:2026-10-19;CVE 公开:2026-10-21;资料核对:2026-10-26
- CWE-299:Improper Check for Certificate Revocation(Go CNA)
- CVSS:所查 Go CNA 记录未给分;NVD 为
Awaiting Analysis、metrics={},不记为 0.0
编号与事件范围
| 来源 | 编号使用范围 |
|---|---|
| Go CNA / Go Vulnerability Database | 正式产品范围为 Go 标准库 crypto/x509,修复补充受损中间 CA 的 SPKI denylist |
RustSec RUSTSEC-2026-0382 | rustls-webpki 的同类拒绝检查,将 CVE-2026-111943 列为 alias;修复版本 0.103.16、0.104.0-alpha.8,具体范围以 RustSec 为准 |
AWS 2026-150-AWS | 以该 CVE 为题发布 eMudhra 事件及 AWS trust bundle 处置公告,覆盖多个服务和运行时 |
Mozilla CVE-2026-113470 | 另一条产品记录,跟踪 Firefox / Thunderbird 的安全阻断列表更新,确保 RemoteSettings 不可用时也能阻断受损中间证书 |
- 当前 CNA 的 Go 产品范围、RustSec 的 alias 和 AWS 的事件公告口径分别保留;不能据此把全部生态的修复版本套成 Go 版本,也不能说只有 Go 才受事件影响
- 截至核对日,在所查 eMudhra 声明、Go / Mozilla CVE 记录、RustSec 与 AWS 公告中,未发现另一个专门覆盖 CA 弱密钥生成根因的 CVE;完整事件继续由事件页维护
成因与利用条件
- Go 在多数平台使用系统提供的信任根,但某些系统根库、手工配置的根或应用 bundle 未及时更新,仍可能构建出经受损中间 CA 的证书链
- 攻击者掌握受损中间 CA 私钥后,可为目标站点签发伪造证书;客户端仍接受该链且流量经过攻击者时,可能发生 TLS 身份冒充、信息泄露或内容篡改
- 是否可利用取决于实际链、信任根和验证策略;旧 Go 版本不自动证明链会被接受,系统已阻断时也可能受到保护
- Go 不负责这次 CA 的密钥生成;它补充的是客户端验证阶段的拒绝检查
修复与缓解
| Go 范围(CNA / OSV) | 首个上游修复版本 |
|---|---|
<1.26.10,含未回补的更老分支 | 1.26.10 |
>=1.27.0-0, <1.27.3,含该分支预发布版本 | 1.27.3 |
- 使用支持分支的当前安全版本;发行版或供应商回补需按各自公告核对
- 升级工具链后重新构建、部署并重启受影响 Go 程序;只更新开发机的
go不会改变已经构建的二进制和容器 - 同时更新应用实际使用的 CA bundle;Go 的 denylist 是运行时内的额外防护,不会替操作系统、Python 或 Node 修改信任库
- 自定义证书验证、禁用标准 TLS 校验等路径需单独检查,不能只用编译器版本证明有效
补丁机制
- 主线修复 CL 851047,commit
7f86f957633ee31a1c17a1eb8452ca7a3d9bc141 src/crypto/x509/verify.go:新增distrustedSPKIHashes和containsDistrustedSPKIHash(),对链中证书的RawSubjectPublicKeyInfo计算 SHA-256,过滤命中 denylist 的候选链src/crypto/x509/root_darwin.go、root_windows.go:对系统验证返回的链也应用相同检查- 所列八个 SPKI hash 与事件公开证书元数据中的八组受损公钥完全对应;同一公钥的交叉签名证书也会命中
- 没有可用链时返回验证错误;这是按公钥拒绝,不依赖 CA 名称字符串、某一张证书的序列号或在线 OCSP 请求
PoC
- mitmproxy 的 eMudhra 支持笔记MitmProxymitmproxy/mitmproxy · MIT, Python · 证书安装访问 http://mitm.it/ · Doc · 工作模式 · Regular Proxy · 作为 HTTP 代理服务器 · 客户端安装证书 - 访问 mitm.it 安装证书章节:eMudhra 受损 CA打开:/notes/service/network/mitmproxy可用于授权环境中的证书签发演示;能否被接受仍由客户端的信任与验证策略决定
- 原理示意:旧信任根 + 受损中间 CA 签发的叶证书 → 未拒绝该公钥的验证路径可能接受;已修复 Go 的
Verify会过滤命中 denylist 的链 - 上游补丁及工具功能证明有相应验证/签发能力,不能直接证明已发生在野 MITM;本次未生成证书、运行代理或发起漏洞验证请求
参考
- CVE 官方记录
- 固定 CVE JSONGitHub 文件CVEProject/cvelistV5/cves/2026/111xxx/CVE-2026-111943.json,记录更新
2026-10-21T01:24:20.498Z
- 固定 CVE JSONGitHub 文件CVEProject/cvelistV5/cves/2026/111xxx/CVE-2026-111943.json,记录更新
- Go Vulnerability DatabaseGo 包vuln/GO-2026-6809Go、OSV JSON
- Go 1.27.3 / 1.26.10 安全发布公告、版本发布记录
- Go issue 82345、固定修复提交GitHubgolang/go/commit/7f86f957633ee31a1c17a1eb8452ca7a3d9bc141
- NVD链接nvd.nist.gov/vuln/detail/CVE-2026-111943Go 对已失陷中间 CA 的拒绝检查;对应 GO-2026-6809,影响入口为 · 背景是 eMudhra 中间 CA 私钥失陷事件;该事件的密钥生成缺陷发生在 CA 侧,Go 的修复是在证书验证时拒绝受损公钥 · Go 安全版本发布:2026-10-19;CVE 公开:2026-10-21;资料核对:2026-10-26笔记:CVE-2026-111943
- RustSec RUSTSEC-2026-0382、固定 advisoryGitHub 文件RustSec/advisory-db/crates/rustls-webpki/RUSTSEC-2026-0382.md
- AWS 2026-150-AWS
- Mozilla MFSA 2026-111:CVE-2026-113470
- eMudhra 厂商声明
关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- 2026-10 eMudhra 中间 CA 私钥失陷笔记 · CVE-2026-111943
事件类型:WebPKI / CA 密钥生成与信任分发事件;首次报告 2026-10-17,多方于 2026-10-20 发布公告;首次整理 2026-10-23,CVE 关联与厂商追加声明核对 2026-10-26 · 八组 eMudhra 中间 CA 密钥因生成缺陷而可恢复,攻击者可利用对应签发权限伪造证书;Google、Mozilla 和发现方资料...
- MitmProxy笔记 · CVE-2026-111943
mitmproxy/mitmproxy · MIT, Python · 证书安装访问 http://mitm.it/ · Doc · 工作模式 · Regular Proxy · 作为 HTTP 代理服务器 · 客户端安装证书 - 访问 mitm.it 安装证书
站内链接
- 2026-10 eMudhra 中间 CA 私钥失陷笔记 · eMudhra 中间 CA 私钥失陷事件
事件类型:WebPKI / CA 密钥生成与信任分发事件;首次报告 2026-10-17,多方于 2026-10-20 发布公告;首次整理 2026-10-23,CVE 关联与厂商追加声明核对 2026-10-26 · 八组 eMudhra 中间 CA 密钥因生成缺陷而可恢复,攻击者可利用对应签发权限伪造证书;Google、Mozilla 和发现方资料...
- MitmProxy笔记 · mitmproxy 的 eMudhra 支持 · emudhra 受损 ca
mitmproxy/mitmproxy · MIT, Python · 证书安装访问 http://mitm.it/ · Doc · 工作模式 · Regular Proxy · 作为 HTTP 代理服务器 · 客户端安装证书 - 访问 mitm.it 安装证书
参考资料
GitHub3 条
- CVEProject/cvelistV5/cves/2026/111xxx/CVE-2026-111943.jsongithub.com/CVEProject/cvelistV5/blob/565af88a49a2d7eabfa12905caa1b05171fc603e/cves/2026/111xxx/CVE-2026-111943.json
- golang/go/commit/7f86f957633ee31a1c17a1eb8452ca7a3d9bc141github.com/golang/go/commit/7f86f957633ee31a1c17a1eb8452ca7a3d9bc141
- RustSec/advisory-db/crates/rustls-webpki/RUSTSEC-2026-0382.mdgithub.com/RustSec/advisory-db/blob/e6f94f3760d5e6c54c1b05f204002263bc025524/crates/rustls-webpki/RUSTSEC-2026-0382.md
依赖包1 条
- vuln/GO-2026-6809pkg.go.dev/vuln/GO-2026-6809
其他外链11 条
- aws.amazon.com/security/security-bulletins/2026-150-awsaws.amazon.com/security/security-bulletins/2026-150-aws
- emudhra.com/en/post/certificate-security-incidentemudhra.com/en/post/certificate-security-incident
- go.dev/cl/851047go.dev/cl/851047
- go.dev/doc/devel/releasego.dev/doc/devel/release
- go.dev/issue/82345go.dev/issue/82345
- groups.google.com/g/golang-announce/c/66pojueaQekgroups.google.com/g/golang-announce/c/66pojueaQek
- nvd.nist.gov/vuln/detail/CVE-2026-111943nvd.nist.gov/vuln/detail/CVE-2026-111943
- rustsec.org/advisories/RUSTSEC-2026-0382rustsec.org/advisories/RUSTSEC-2026-0382
- vuln.go.dev/ID/GO-2026-6809.jsonvuln.go.dev/ID/GO-2026-6809.json
- www.cve.org/CVERecord?id=CVE-2026-111943www.cve.org/CVERecord?id=CVE-2026-111943
- www.mozilla.org/en-US/security/advisories/mfsa2026-111www.mozilla.org/en-US/security/advisories/mfsa2026-111