
文章目录前言一、Java高危漏洞CVE-2026-91403一、官方公告二、这个漏洞到底是什么三、哪些版本受影响公告点名的已给补丁线没写进表的老版本呢四、怎么做按这个顺序1查版本2能升就升并重启 JVM首选3临时加固升不了或官方要求升级后仍要做4自查 预发验证五、读完你该记住什么前言最近爆出的那个Java高危漏洞CVE-2026-91403大家应该都有关注到了吧本文跟大家聊聊如何处理一、Java高危漏洞CVE-2026-91403一、官方公告CVE-2026-91403 官方公告Oracle 这次发的是Security Alert不是普通更新说明。公告核心可以压缩成下面几句CVE-2026-91403提供 Java 更新使受影响的eMudhra 相关中间 CA 证书不再被信任。应对方式升级到最新 Java或按官方建议做缓解。组件在JSSE可远程利用、无需登录CVSS9.1。读到这里多数人会马上问三件事这到底是啥意思我的 JDK 算不算今天要做什么给大家讲清楚下面就按这个疑问往下走。二、这个漏洞到底是什么漏洞本质私钥泄露假证书可能被当真一句话中间 CA 的私钥泄露了JDK 信任库如果还认它假证书就可能被当真。更直白一点正常HTTPS / 验签时Java 查这张证书是不是可信机构签的。出事eMudhra 相关8 个中间 CA 私钥已泄露官方表述。风险攻击者可能伪造看起来合法的证书你的 Java 程序若仍信任那条链就可能信错对象。所以这不是「Java 被远程随便执行代码」那种洞而是信任被破坏该拦的假身份拦不住。三、哪些版本受影响公告点名 vs 更老版本同样风险公告点名的已给补丁线产品版本Oracle Java SE8u511、8u511-perf、11.0.33、17.0.21、21.0.13、25.0.5、27.0.1GraalVM for JDK17.0.21、21.0.13GraalVM EE21.3.20没写进表的老版本呢观点要鲜明没点名 ≠ 没风险。Oracle 写明补丁只保证支持期内版本更早版本未逐一测试但很可能同样受影响建议升到仍受支持的版本。所以常见的8u202、8u391等老 JDK 8按「可能受影响」处理不要侥幸。四、怎么做按这个顺序四步行动查版本 → 升级重启 → 临时加固 → 预发验证1查版本java -version服务器、容器、流水线里的 JDK 都要查有几套处理几套。2能升就升并重启 JVM首选Oracle 已给出修复构建例如8u511 b3211.0.33.0.2/17.0.21.0.2/21.0.13.0.225.0.5.0.2/27.0.1.0.2按 Patch Availability 文档安装。不重启 没修完。3临时加固升不了或官方要求升级后仍要做即使已升到上述版本ops.java/emudhra 仍要求重启前做下面二选一方案 A备份后从cacerts删除相关根证书JDK 11$JDK_HOME/lib/security/cacertsJDK 8$JDK_HOME/jre/lib/security/cacerts# JDK 11 keytool -delete -cacerts -alias emsigneccrootcag3 [jdk] keytool -delete -cacerts -alias comodoaaaca [jdk]方案 B打开吊销检查-Dcom.sun.net.ssl.checkRevocationtrue -Dcom.sun.security.enableCRLDPtrue4自查 预发验证跑官方CheckCerts.javaJDK 8预发重点测对外 HTTPS、双向 TLS、验签看日志是否出现SSLHandshakeException、PKIX事先备份旧 JDK 和cacerts便于回滚五、读完你该记住什么疑问答案官方说了啥eMudhra 相关中间证书不可再信升级或按官方缓解本质是啥私钥泄露 → 假证书可能被 JDK 当真我中招吗点名版本有补丁更老 JDK 也很可能有风险今天做什么查版本 → 升级重启 → 临时加固 → 预发验证本文的引用仅限自我学习如有侵权请联系作者删除。参考知识Java 高危漏洞HTTPS 信任被破坏升级和临时办法一次讲清