news 2026/11/3 19:21:12

2. 编程语言-Java-JDK安全漏洞

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2. 编程语言-Java-JDK安全漏洞

文章目录

  • 前言
  • 一、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。

读到这里,多数人会马上问三件事:

  1. 这到底是啥意思?

  2. 我的 JDK 算不算?

  3. 今天要做什么?

给大家讲清楚:下面就按这个疑问往下走。


二、这个漏洞到底是什么?

漏洞本质:私钥泄露,假证书可能被当真

一句话:

中间 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.1
GraalVM for JDK17.0.21、21.0.13
GraalVM EE21.3.20

没写进表的老版本呢?

观点要鲜明:没点名 ≠ 没风险。

Oracle 写明:补丁只保证支持期内版本;更早版本未逐一测试,但很可能同样受影响,建议升到仍受支持的版本。

所以常见的8u202、8u391等老 JDK 8,按「可能受影响」处理,不要侥幸。


四、怎么做?(按这个顺序)

四步行动:查版本 → 升级重启 → 临时加固 → 预发验证

1)查版本

java -version

服务器、容器、流水线里的 JDK 都要查;有几套处理几套。

2)能升就升,并重启 JVM(首选)

Oracle 已给出修复构建,例如:

  • 8u511 b32

  • 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

按 Patch Availability 文档安装。不重启 = 没修完。

3)临时加固(升不了,或官方要求升级后仍要做)

即使已升到上述版本,ops.java/emudhra 仍要求重启前做下面二选一:

方案 A:备份后,从cacerts删除相关根证书

  • JDK 11+:$JDK_HOME/lib/security/cacerts

  • JDK 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.checkRevocation=true -Dcom.sun.security.enableCRLDP=true

4)自查 + 预发验证

  • 跑官方CheckCerts.java(JDK 8+)

  • 预发重点测:对外 HTTPS、双向 TLS、验签

  • 看日志是否出现SSLHandshakeException、PKIX

  • 事先备份旧 JDK 和cacerts,便于回滚


五、读完你该记住什么?

疑问答案
官方说了啥?eMudhra 相关中间证书不可再信;升级或按官方缓解
本质是啥?私钥泄露 → 假证书可能被 JDK 当真
我中招吗?点名版本有补丁;更老 JDK 也很可能有风险
今天做什么?查版本 → 升级重启 → 临时加固 → 预发验证


本文的引用仅限自我学习如有侵权,请联系作者删除。
参考知识
Java 高危漏洞!HTTPS 信任被破坏,升级和临时办法一次讲清


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 19:17:06

题目实数域上与给定矩阵合同的矩阵判定

题目:实数域上与给定矩阵合同的矩阵判定 设 A(1221) A\begin{pmatrix} 1 & 2 \\ 2 & 1 \end{pmatrix} A(12​21​) 则在实数域上与 AAA 合同的矩阵为( ) (A) (−211−2)\begin{pmatrix}-2 & 1 \\ 1 & -2\end{pmatrix}(−21​…

作者头像 李华
网站建设 2026/11/3 19:17:05

启元 Q1 到 T1 的 SDK 迁移:同一个编号,为什么含义变了?

对照Q1和T1的SDK时,有一处差异特别容易漏掉:两份 TouchState.msg 逐字节相同,sensor_id1 的意思却变了。 Q1上是头部,T1上是背部。两种解释就写在同一份文件的注释里。 如果功能是“摸头后显示一个开心表情”,代码从…

作者头像 李华
网站建设 2026/11/3 19:16:56

启元 Q1 机器人为什么回应晚了?从一次触摸讲清时间戳

摸一下机器人的头,等了半天没反应;人已经转身,它才显示一个开心表情。要查这种问题,很容易先去看网络和表情服务。可即使两边都正常,一条在队列里等久了的触摸消息,也足够制造这次迟到的回应。 Q1 SDK 的《…

作者头像 李华