1、简述
Oracle、OpenJDK 发布紧急安全公告 CVE-2026-91403(CVSS 9.1,高危)。 漏洞本质:JDK 内置证书黑名单未拉黑印度 CA eMudhra 的 8 张失陷中间 CA 证书。这批中间 CA 私钥存在缺陷,攻击者可推算出私钥,伪造任意域名 TLS 证书。
Java 的 JSSE TLS 校验逻辑会信任该伪造证书,从而实现中间人攻击(MITM),窃听、篡改 Java 程序的 TLS 加密流量。
重点:不是根 CA 泄露,只是 8 张中间 CA 失陷;不是 TLS 协议漏洞;Java 使用独立黑名单,操作系统证书黑名单对 Java 不生效。
2、受影响场景
所有使用 JDK 内置信任库、走 JSSE 校验 TLS 的业务:
- Java 服务 HTTPS 外部调用、支付 / 三方接口对接
- Kafka、MongoDB、数据库 SSL、Redis TLS 等中间件加密连接
- SpringBoot、SpringCloud 服务间 HTTPS 通信
- 容器、镜像内打包的 JDK,是高频遗漏点
3、受影响版本
3.1 oracle版本
Oracle Java SE: 8u511, 8u511-perf, 11.0.33, 17.0.21, 21.0.13, 25.0.5, 27.0.1; Oracle GraalVM for JDK: 17.0.21, 21.0.13; Oracle GraalVM Enterprise Edition: 21.3.20。
3.2 openjdk版本
受影响的版本为 27.0.1、25.0.5、21.0.13、17.0.21、11.0.32.1、8u504 及更早版本。
4、修复方案
4.1 首选方案
升级 JDK 到官方修复版本 新版本内置 blocked.certs 黑名单,自动拦截这 8 张失陷中间证书,修复最稳妥。
4.2 临时缓解(无法立即升级时)
- 替换黑名单文件:
- JDK9+:
$JDK_HOME/lib/security/blocked.certs - JDK8:
$JDK_HOME/lib/security/blacklisted.certs
- JDK9+:
- 备份原有文件,替换为官方最新黑名单;如果有自定义黑名单,替换后需要补回自定义条目
- 所有 Java 进程必须重启才能生效
- 辅助加固:开启 OCSP/CRL 证书吊销校验(仅辅助,不能替代黑名单修复)
❗ 误区提醒:只修改 cacerts 根证书库无效,本次靠单独黑名单文件控制。
5、运维排查建议
- 资产扫描:服务器、容器镜像、CI 基础镜像里的全部 JDK/JRE
- 优先处置:支付、资金、政务对接等敏感加密链路
- 验证:可使用检测代码验证当前 JDK 是否已拦截该批证书
6、风险等级
高危,远程无认证、无交互即可利用,影响流量机密性与完整性。
7. 参考官方地址
- Oracle 公告:Oracle Security Alert Advisory - CVE-2026-91403
- OpenJDK 公告:OpenJDK Vulnerability Advisory: 2026/10/21
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/xixingzhe2/article/details/168880538



