Featured image of post Spring Framework 7.0.8 紧急安全更新:修复 16 个高危漏洞
Java

Spring Framework 7.0.8 紧急安全更新:修复 16 个高危漏洞

Spring Framework 7.0.8 紧急安全更新:修复 16 个高危漏洞

背景介绍

Spring 官方在最新发布的 Spring Framework 7.0.8 中,一次性修复了多达 16 个 CVE 安全漏洞。这次更新被称为“AI 时代的 Spring 与安全”系列更新的一部分,修复了包括预测会话 ID、拒绝服务(DoS)、跨站脚本(XSS)、服务器端请求伪造(SSRF)以及不安全的反序列化在内的众多高危问题。

对于所有使用 Spring Framework 的企业和开发者来说,这是一次必须立即跟进的紧急维护版本。

核心漏洞清单与原理

本次 7.0.8 版本修复了大量集中在 Spring MVC、WebFlux 和 SpEL (Spring Expression Language) 模块中的安全问题:

1. Web 模块核心漏洞 (MVC & WebFlux)

  • CVE-2026-41838:WebSocket 模块中会话 ID 可预测问题。
  • CVE-2026-41839 / 41840:WebFlux 中的会话固定提权与多部分请求(Multipart)拒绝服务。
  • CVE-2026-41841 / 41842 / 41843:涉及 Spring MVC 和 WebFlux 的静态资源缓存信息泄露、版本化资源拒绝服务以及路径遍历漏洞。
  • CVE-2026-41844:Spring MVC 和 WebFlux 开放重定向问题。

2. SpEL 表达式注入与安全限制

  • CVE-2026-41850 / 41851:通过 SpEL 表达式导致的算法拒绝服务及无界缓存造成的拒绝服务。
  • CVE-2026-41852:SpEL 表达式中的任意方法调用漏洞,这通常是最高危的远程代码执行(RCE)的前置条件。

3. 其他关键组件

  • CVE-2026-41854:通过 UriComponentsBuilder 触发的服务器端请求伪造 (SSRF)。
  • CVE-2026-41855:Jackson JMS Converters 存在的不安全反序列化漏洞。

影响评估

如果你正在使用低于 7.0.8 的 Spring Framework 版本(或对应的 Spring Boot 版本),并启用了上述相关功能(如 WebFlux、WebSocket、SpEL 解析外部输入、静态资源服务),你的应用将面临严重的信息泄露拒绝服务甚至系统被控风险。

特别是对外暴露 Web 端口、接受 Multipart 文件上传或者使用 SpEL 处理动态规则的业务系统,受影响最为直接。

实践建议与修复指南

1. 立即升级依赖

在你的 pom.xmlbuild.gradle 中,将 Spring Framework 的版本强制指定或升级到 7.0.8

<properties>
    <spring-framework.version>7.0.8</spring-framework.version>
</properties>

如果使用的是 Spring Boot,请密切关注对应 Spring Boot 的最新补丁版本(如 3.5.x 系列的最新安全补丁),因为 Spring Boot 通常会同步打包最新版本的 Spring Framework。

2. 检查危险 API 的使用

除了升级依赖,团队应排查代码库中对以下 API 的直接调用,确保输入被正确校验:

  • UriComponentsBuilder 构建外部传入的 URL 时的 SSRF 防护。
  • 业务逻辑中涉及的 SpEL 解析,严禁将未经净化的用户输入作为表达式内容执行

3. 关闭不必要的静态资源服务

如果你的 Spring 应用只是一个纯后端 API 服务,建议彻底关闭静态资源服务和相关的缓存配置,以减少攻击面。

总结

Spring Framework 7.0.8 的发布不仅是一次常规维护,更是针对 16 项关键 CVE 的集体阻击。在网络安全威胁日益复杂的今天,保持依赖的及时更新是系统最基础的防线。建议所有开发与运维团队尽快排查影响范围并在测试环境中验证升级。

参考资料

使用 Hugo 构建
主题 StackJimmy 设计