Java 一周要闻:JDK 28 发布日程出炉,eMudhra 证书泄露牵连多家厂商
2026 年 10 月 19 日这一周的 Java 新闻包括:JDK 28 的拟议发布日程、eMudhra 中间 CA 证书泄露事件、2026 年 10 月关键补丁更新、Azul 和 BellSoft 的关键补丁更新、WildFly 42 和 Apache POI 6.0 正式发布、Open Liberty 26.0.
2026 年 10 月 19 日这一周,Java 圈的消息不少:JDK 28 的拟议发布日程浮出水面,eMudhra 中间 CA 证书私钥泄露,2026 年 10 月关键补丁更新落地,Azul 和 BellSoft 各自跟进关键补丁,WildFly 42、Apache POI 6.0 正式版发布,Open Liberty 26.0.0.11 进入测试版,Micronaut 和 JobRunr 也出了维护版本。
借 2026 年 10 月季度关键补丁更新的机会,Oracle 放出了 JDK 27.0.1、25.0.5、21.0.13、17.0.21、11.0.33 和 8u511。25.0.5、21.0.13、17.0.21、11.0.33 和 8u511 各自的发布说明里有更细的内容。
JDK 28 早期访问构建版上周出到第 21 个。相比第 20 个构建版,这次动了不少地方,包括修掉多个问题。详细情况看发布说明。
Oracle Java 平台组首席架构师 Mark Reinhold 正式提议的 JDK 24 发布日程如下:
-
第一阶段功能冻结(从主线分支):2026 年 12 月 3 日
-
第二阶段功能冻结:2027 年 1 月 14 日
-
首个候选发布版:2027 年 2 月 4 日
-
最终候选发布版:2027 年 2 月 16 日
-
正式发布:2027 年 3 月 9 日
这份拟议日程的评审期,预计到 2026 年 10 月 29 日截止。
Mozilla 披露,eMudhra 中间证书颁发机构(CA)证书有八把私钥已经泄露。换句话说,谁拿到任何一张受影响的中间 CA 证书私钥,就可能冒充任意网站或服务。Mozilla 在说明应对措施时表示:
根证书计划以及不少下游信任存储已经动手保护用户。Firefox 和 Chrome 从 10 月 17 日起屏蔽这些证书,微软平台从 20 日起屏蔽,苹果产品从 22 日起屏蔽。
10 月 19 日,这一问题按负责任披露流程告知了下游信任存储的维护方。不少维护方已经发布或正在发布更新。
其他厂商也针对这次泄露作出回应,其中包括发布安全警报的 Oracle,以及 BellSoft(见下文)。
此次泄露的更多细节,InfoQ 的这篇新闻报道里有。
Oracle 发布 2026 年 10 月关键补丁更新(CPU)的同一天,Azul 也为自家 OpenJDK 下游发行版 Azul Zulu 的 JDK 27、25、21、17、11、8、7 和 6 推出了 2026 年 10 月关键补丁。
这批补丁覆盖 53 个 CVE,还带了一次“周期外”更新,专门应对前面说的 eMudhra 中间 CA 证书泄露。至于这件事为什么偏偏发生在 Oracle 2026 年关键补丁发布一天之后,Azul 是这么说的:
在 Java 里,这个问题比听上去更麻烦:它默认不检查证书是否已被吊销。在 JDK 自己屏蔽这些证书之前,Java 应用会把用这些私钥签发的伪造证书当成有效证书。披露当天没有补丁,下一次季度发布又要等到 1 月。
可才过了一天,原有措施就不够用了:冒出了季度发布日程根本预料不到的零日漏洞。10 月 21 日,Azul 为此发了周期外更新。
原始博客文章发布之后,更新的较新版本放在这里。
BellSoft 同样为自家 OpenJDK 下游发行版 Liberica JDK 发了关键补丁,涉及 25.0.4.1.1、21.0.12.1.1、17.0.20.1.1、11.0.32.1.1、8u511、7u521 和 6u521,解决的是这份 CVE 列表里的问题。另外,包含关键补丁和非关键性修复的补丁集更新(PSU)版本 27.0.1、25.0.5、21.0.13、17.0.21、11.0.33 和 8u512 也已发布。
按 BellSoft 的说法,各版本合计包含 1438 项修复和向后移植,其中 144 个问题是他们参与解决的。
WildFly 42 带来错误修复、依赖升级和新功能,其中包括:Jakarta Concurrency 规范实现支持虚拟线程;使用 WildFly Elytron 的 token-realm 安全组件时,可以配置主体转换器(比如 case-principal-transformer),在从 JSON Web Token 取得的 Java Principal 接口实例交给受保护应用之前先做转换。更多细节见发布说明。
处理微软文档的 Java API Apache POI 6.0.0 正式发布,带来依赖升级和新功能,其中包括:最低 JDK 版本要求提高到 17;更新 DataFormatter 类中定义的useCachedValuesForFormulaCells()Apache POI 6.0.0 已正式发布,这次更新包含依赖升级与若干新功能。最低 JDK 版本要求被提高到 17;DataFormatter 类中定义的方法也做了调整,默认改用公式单元格的缓存值;此外,一些已弃用的方法被移除。更多细节可以查阅发布说明。
Open Liberty 26.0.0.11 测试版带来几处变化。JWT Builder 在生成的 JWT 中支持工作负载身份和 JWK 轮换,JWT 使用方因此能识别出令牌由哪个工作负载或应用生成。quiesceTimeout服务器静默阶段的超时时间现在可以通过元素来配置,此前该时间固定为 30 秒。同时,这一版本还预览了基于 Netty 的新 HTTP 传输实现,作为底层传输机制的内部替换。
JobRunr 9.0.2 发布,包含错误修复和两项新功能:Quarkus 的 JobRunrStarter Bean 经过重构,现在可以被替换;SQL 查询参数的值则改为通过供应器获取。更多详情可参阅发布说明。