本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
【腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
很多人已经不写原创了,我是一个例外。明天是五一节前的最后一个班,很多人可能已经在路上了,提前祝大家五一快乐!
上周我写了 Spring 7.0.7 的更新,按照计划,一周后 Spring Boot 会跟着更新。因为,这是官方确定的发布节奏。
这两天由于 AI 方面的更新,实在是太多、太猛,没及时更新 Spring Boot 的相关内容。今天到官网上一看,发现这次 Spring Boot 4.0.6 发布了,并且一次修复了高达 8 个 CVE 漏洞!
这不仅仅是一次普通的维护更新,更是一次关键的安全补丁发布!这 8 个 CVE 安全漏洞,除了 Spring 本身的之外,还涉及 Elasticsearch、RabbitMQ、Cassandra、DevTools、Actuator 等多个核心组件的自动配置模块。如果你的项目使用了这些组件,官方强烈建议立即评估升级!
8 个漏洞详解
下面,我们就一起来看看这 8 个 CVE 漏洞。
文章配图,参见 https://mp.weixin.qq.com/s/ub7eSE7I-7gZ4lACSgTBtg。
高危漏洞
TLS 主机名验证被禁用类漏洞,这一次就出现了 3 个。如下表格所示。
| CVE 编号 | 影响组件 | 风险描述 | 修复建议 |
|---|---|---|---|
| CVE-2026-40970 | Elasticsearch | SSL Bundle 自动配置时禁用 TLS 主机名验证 | 升级后自动修复,或手动配置 spring.elasticsearch.rest.ssl.verify-hostname=true |
| CVE-2026-40971 | RabbitMQ | SSL Bundle 自动配置时禁用 TLS 主机名验证 | 确保 spring.rabbitmq.ssl.verify-hostname=true |
| CVE-2026-40974 | Cassandra | SSL 自动配置禁用 TLS 主机名验证 | 检查 spring.cassandra.ssl 相关配置 |
这 3 个漏洞的风险等级都被定义为高危。这类漏洞可能导致中间人攻击(MITM),攻击者可伪造服务端证书窃取敏感数据。
中危漏洞
DevTools 与临时文件安全风险方面共 3 个漏洞。
| CVE 编号 | 影响组件 | 风险描述 | 修复建议 |
|---|---|---|---|
| CVE-2026-40972 | DevTools | 远程密钥比较存在时序攻击风险 | 升级版本,避免在生产环境启用 DevTools |
| CVE-2026-40973 | ApplicationTemp | 可预测的临时目录未验证所有权 | 确保临时目录权限正确,避免使用默认路径 |
| CVE-2026-40977 | PID 文件 | PID 文件写入跟随符号链接 | 避免在不可信目录部署应用 |
这 3 个漏洞的风险等级为中危。为开发环境常见风险,生产环境需特别注意权限控制。
其他安全问题
其他关键安全问题共 2 个。如下表格所示。
| CVE 编号 | 影响组件 | 风险描述 | 修复建议 |
|---|---|---|---|
| CVE-2026-40975 | RandomValuePropertySource | 使用弱 PRNG 生成密钥 | 避免用 ${random.*} 生成敏感凭据 |
| CVE-2026-40976 | Spring Security | Actuator 端点缺少授权规则 | 检查 management.security 配置 |
重要修复与改进
除了安全补丁,4.0.6 还修复了65 个 Bug,主要涵盖以下关键场景。
核心功能修复
核心功能修复方面,主要涉及下面 4 个。
Elasticsearch Rest5Client:修复底层 HTTP 客户端配置错误Docker Compose 支持:兼容apache/artemis和apache/activemq镜像WebFlux Cloud Foundry:修复端点链接解析时保留查询字符串的问题JSON 配置:spring.jackson.use-jackson2-defaults=true时FAIL_ON_UNKNOWN_PROPERTIES行为修正
另外,还有 3 个测试与开发体验方面的修复。
- 修复嵌套测试类导入被忽略的问题
@ServiceConnection与@Bean方法上@Ssl注解兼容性问题- Spring Security 的
PathPatternRequestMatcher在@WebMvcTest中自动配置修复
依赖升级清单
依赖升级方面,每次都有,其中 Spring 是常客。
下面是部分依赖升级的清单,供参考。
# 核心框架
spring-framework: 7.0.7
spring-security: 7.0.5
spring-data-bom: 2025.1.5
# 中间件客户端
elasticsearch-client: 9.2.8
mongodb-driver: 5.6.5
mysql-connector: 9.7.0
# 工具与观测
micrometer: 1.16.5
log4j2: 2.25.4
lombok: 1.18.46
# 服务器
tomcat: 11.0.21
jetty: 12.1.8
完整的依赖比较多,我就不一一个列了。升级列表可参考https://github.com/spring-projects/spring-boot/releases/tag/v4.0.6。
升级操作起来并不难,只需改版本号即可。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>4.0.6</version>
</parent>
重点是升级后的验证,包括 Java 版本,SSL 连接(Elasticsearch、RabbitMQ、Cassandra)、Actuator 端点访问控制、DevTools 远程调试(如启用)、随机值生成逻辑(如使用${random.*})等。
最后
马上 Spring Boot 4.1.x 就来了,期待在虚拟线程、AOT 等方面带来的重磅更新吧。Spring Boot 4.0.6 小版本更新,虽然是一个维护版本,但国内用户更新并不及时。就算是其修复的安全漏洞影响范围广、风险等级高。国内用户也是非必要,不会主动升级的。
一般是金融系统、外企系统等,对安全漏洞要求较高,才会主动通知进行升级。这次的漏洞真的是太多了,有点那啥…漏洞之王的味道了。不会都是 Claude Mythos 发现的吧!

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!
本文原文出处:业余草: » Spring Boot 4.0.6 发布,一次修复 8 个 CVE 漏洞!