一个月里发了两次
2026 年 10 月,Java(这里指 Oracle Java SE 及其官方 GraalVM 构建)的补丁出现了两个批次:
| 批次 | 性质 | 时间点 | 需要处理吗 |
|---|---|---|---|
| 例行的季度补丁更新 | 按季度发放的常规安全修复 | 2026-10-20 前后 | 需要 |
| 追加的紧急安全公告 | 针对单个问题的带外(out-of-band)更新 | 2026-10-21 前后 | 需要,且不能省略 |
关键在于:两者并不互相替代。已经打完季度补丁的系统,如果之后不再处理那次追加发布的紧急公告,仍处于受影响状态。这是这次最容易漏掉的一步。
为什么会出现这种节奏
按惯例,Java 的安全修复以季度为单位集中发放(Critical Patch Update)。但在季度窗口之外,如果发现的问题触发条件宽松、影响面又足够大,厂商会打破节奏单独发一次安全公告。
本次追加的紧急公告,公开报道普遍指向 JSSE 组件——也就是 Java 处理 TLS 加密连接的那一部分。造成问题的起因,是一批被默认信任的中间证书出现了信任方面的缺陷;按公开的说法,该问题的评分达到 CVSS 9.1 量级,且可以在不需要认证、不需要用户配合的情况下被触发。
这里不展开任何技术细节,也不提供相关材料。可以确认的是:官方已经发布了对应的修复版本,正确处理方式是升级,而不是等待下一个季度。
怎么核对:先别急着对编号,先对版本
本次补丁存在一个需要注意的情况:不同公开渠道对具体漏洞编号的写法存在出入(有的资料记为一个编号,有的记为另一个)。这种时候按编号去检索,反而容易被误导。
更稳妥的核对方式是直接查官方:
- Oracle 的安全公告页会列出季度更新涉及的漏洞清单,以及每条版本线对应的修复版本号;
- 其后的安全公告(Security Alert)页面会单独列出那次紧急修复的受影响版本清单与修复版本;
- OpenJDK 侧也会同步发布自己的公告。如果你用的是其他发行版(如 Temurin、Corretto 等),应以该发行版自己的发布说明为准,不能默认与 Oracle 同步。
公开资料提到的受影响区间大致覆盖 Java SE 8、11、17、21、25、27 这几条线,对应的修复版本号请以官方页面为准。另外需要注意的是:Java 26 这条版本线的公开支持期已经结束,如果仍在 26 上,通常没有对应的修复版本可用,应规划迁移到仍在支持期的版本线。
第一步同样是清点:Java 常常「藏起来」
与 PHP、Node.js 相比,Java 更难查干净,因为它大量被打包进别人的软件里:中间件、应用服务器、报表工具、财务软件、部分客户端工具,甚至容器基础镜像,都可能自带一份 JRE。这类内置副本通常不会出现在系统级的软件清单里,也不会因为系统更新而升级。
# 查看默认使用的 Java 版本
java -version
# Linux:列出通过 alternatives 注册的多个 JDK
update-alternatives --list java
dpkg -l | grep -i jdk
# 查找散落在目录中的 java 可执行文件(排查内置副本)
find /opt /usr/local -name java -type f 2>/dev/null
# Windows:控制面板中的 Java 控制台会显示已安装的版本
对于商业软件内置的运行时,需要走厂商自己的补丁流程,不能只升级系统里的 JDK——这一点在多产品线共用一台机器的场景下尤其容易漏。
处理顺序
- 列出台账:把系统级 JDK、容器镜像内的 JDK、商业软件自带的 JDK 三类分别登记。
- 按官方口径核对:以官方 CPU 页面与安全公告页列出的修复版本号为准,确定每条版本线应升级到哪个版本。
- 优先处理对外部分:面向互联网的服务、处理外部请求的接口先安排。
- 重建并重启:容器应用需重建镜像;升级后必须重启进程,否则内存中运行的仍是旧版本。
- 验证:
java -version输出与预期一致,业务启动日志正常。
暂时无法升级时
公开资料中提到,对于承载加密连接的那个问题,在 OpenJDK 侧的临时处理方向包括更新证书阻止列表,以及确认吊销检查处于启用状态。这两项属于争取时间的过渡手段,官方也明确它们不是补丁的替代方案——建议按「天」而非「月」的尺度来安排后续升级。
给我们的一点提醒
这次「季度之后紧接着追加一次」的节奏,说明一个现实:基础运行时的安全节奏并不完全可预期。指望每季度集中处理一次、其余时间不管,是不够稳妥的。
可以低成本先做起来的两件事:
- 维护一份运行时台账(语言、版本、安装位置、负责人),日常更新软件时顺手更新台账;
- 为你实际使用的运行时订阅官方安全公告渠道,包括发行版本身的公告,而不只是上游项目的公告。
相关工具
本站收录的运行环境与开发工具可供参考:
- Docker Desktop:便于隔离不同项目的运行时
- Visual Studio Code:跨平台编辑器,可用于维护版本台账类文档
- 7-Zip:解压 JDK 压缩包等安装包的常用工具