21CTO导读:Oracle针对 Java 发布紧急安全公告,修复编号为 CVE-2026-91403 的高危漏洞。
这是继PHP低版本出现高危安全漏洞后,Java也毫不犹豫加入了这场紧张又刺激的风波。
非常特殊的是,这份紧急补丁是在Oralce在 10 月月度 CPU 季度补丁更新发布的次日就紧急追加的推出,其根源来自印度证书机构 eMudhra 弱私钥泄露的重大安全事件。
该漏洞位于 Java JSSE 安全套接字组件,将攻击向量:CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N,支持网络远程利用、无需账号权限、无需用户交互。
当成功被利用后会严重破坏 TLS 连接的机密性与完整性,但不会造成服务不可用。攻击者可实施中间人攻击、伪造 HTTPS 证书,窃取、篡改 Java 程序对外通信的数据,同时也会影响 Java Web Start、Applet 沙箱客户端场景。
重点警示:10 月 20 日刚发布的新版 Java 也在受影响范围内,即便刚打完季度 CPU 补丁,依旧存在高风险。
Oralce提示已经停止技术支持的旧版本虽然未完整测试,但大概率同样受此问题波及,建议升级至受维护版本Oracle。
2026年10月17号安全研究员发现,印度证书机构 eMudhra 在2025年04月30号生成的 8 张中间 CA 证书存在严重缺陷:椭圆曲线私钥数值极小,任何人仅凭公开证书,就可以一秒推算出完整私钥,部分私钥甚至是 4、66 这类简单整数。
攻击者拿到私钥,可以冒充该 CA,为任意域名伪造合法 HTTPS 证书,实施中间人劫持,拦截篡改全网 HTTPS 流量。 eMudhra 事后解释:密钥生成流程出现故障,向外交付的是一组存在缺陷的弱密钥。
除此之外,Sectigo 还对这 8 张证书做过交叉签名;即便删除 eMudhra 根证书,依靠交叉签名链路,伪造证书依旧可以通过校验,本次需要同时屏蔽原始 8 张以及交叉签名另外 8 张,合计 16 张证书。
主流浏览器 Chrome、Firefox、Safari 已经通过根库更新、CRLSet、OneCRL 机制拉黑这批问题证书。但 Java 体系有特殊风险点:
cacerts,不会复用操作系统、浏览器的根证书库;JDK/JRE 自带lib/security/cacerts、blocked.certs黑名单文件,需要单独更新。发行版的区分:Debian、RHEL、Ubuntu 等系统包管理器安装的 OpenJDK,部分会复用操作系统 ca‑certificates;Homebrew、Windows 独立安装包、容器镜像内置 JDK,全部使用自带证书库,必须单独更新 JDK。
升级到 Oracle/OpenJDK 对应修复版本,新版本会把 16 张问题证书写入blocked.certs.pem黑名单,并且修复 ECDSA 签名编码比对逻辑。
修复版本:8u511、11.0.33.0.2、17.0.21.0.2、21.0.13.0.2、25.0.5.0.2、27.0.1.0.2。升级完成务必重启全部 Java 业务进程。
如果短期内无法完整升级 JDK,可以执行两项临时操作:
blocked.certs(JDK8 为blacklisted.certs),覆盖$JDK_HOME/lib/security/路径,替换前备份原有文件,避免丢失业务自定义黑名单。‑Dcom.sun.net.ssl.checkRevocation=true‑Dcom.sun.security.enableCRLDP=true
注意副作用:开启 CRL 校验后,每次 HTTPS 连接都会访问吊销服务器;如果 CRL 服务器网络不通,业务 HTTPS 请求直接失败,会带来业务可用性风险,只能作为临时过渡手段。
额外还要注意,8 张问题证书包含 2 张用于代码签名,JDK17 以上可使用命令校验 Jar 包签名吊销状态:
jarsigner ‑verify ‑revcheck ‑strict xxx.jar
风险与现状说明
本次事件确是一次很好的审计契机,对于满足 ISO27001、ITGC 内控要求的团队,需要复盘:
作者:聆听世界的鱼
本篇文章为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 微信公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。
请扫描二维码,使用微信支付哦。