Spring Boot 2.7.x 至 2.7.18 及更旧的版本,漏洞说明

news/2025/3/3 22:17:51/

本文提供的修复指南将帮助开发者有效规避 CVE-2024-38808 和 CVE-2024-38809 的风险。如果你正在使用老版本的 Spring Boot,请尽快参考本文进行修复与升级。

此漏洞来源于spring官网:https://spring.io/blog/2024/08/14/spring-framework-releases-fixes-for-cve-2024-38808-and-cve-2024-38809

漏洞地址:

https://spring.io/security/cve-2024-38808

https://spring.io/security/cve-2024-38809

在这里插入图片描述
在这里插入图片描述

Spring Framework 最新漏洞分析与修复方法。最近,Spring Framework 曝出了两个严重的安全漏洞:CVE-2024-38808 和 CVE-2024-38809。这两个漏洞都可能导致拒绝服务(DoS)攻击,严重影响系统的稳定性和安全性。本文将详细介绍这两个漏洞的影响范围、修复方法,以及在 Spring Boot 2.x 项目中如何进行版本升级

1、CVE-2024-38808 漏洞分析
1) 漏洞说明

在 Spring Framework 版本 5.3.0 至 5.3.38 及更早的不受支持版本中,如果应用程序评估了用户提供的 SpEL(Spring Expression Language)表达式,攻击者可以利用特制的表达式导致拒绝服务(DoS)攻击。

2) 受影响的产品和版本

Spring Framework: 5.3.0 至 5.3.38 及更早的版本
Spring Boot: 2.7.x 至 2.7.18 及更早的版本

3) 缓解措施

建议受影响版本的用户升级到以下修复版本:
在这里插入图片描述

对于 5.3.x 用户,建议升级到 5.3.39+ 或直接迁移至 6.0+。在无法完全避免用户提供 SpEL 表达式的情况下,应使用 SimpleEvaluationContext.forReadOnlyDataBinding 进行只读模式下的表达式评估。
CVE-2024-38809 漏洞分析
1)漏洞说明
当应用程序解析 HTTP 请求头中的 “If-Match” 或 “If-None-Match” ETag 时,可能会遭受 DoS 攻击。
2)受影响的产品和版本
Spring Framework:
6.1.0 至 6.1.11
6.0.0 至 6.0.22
5.3.0 至 5.3.37 及更早版本
Spring Boot:
3.1.0 至 3.1.12
3.0.0 至 3.0.13
2.7.x 至 2.7.18 及更早版本
3) 缓解措施

建议受影响版本的用户升级到以下修复版本:
在这里插入图片描述
如果无法立即升级,用户可以通过配置 Filter 限制 “If-Match” 和 “If-None-Match” 头的大小,以减少攻击面。

如何在 Spring Boot 2.x 项目中修复漏洞

Spring Boot 2.7.x、3.0.x、3.1.x 等版本已经停止更新,用户需要手动调整 Spring Framework 版本,以下是具体操作步骤:

1 在最外层的主pom 添加 spring-framework-bom 依赖

<dependencyManagement><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-framework-bom</artifactId><version>5.3.39</version> <!--最新5.0x的版本--><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

2 确认依赖版本

刷新IDEA的 Maven 依赖,确保拉取到的 Spring Framework 版本为最新的 5.3.39+

3 检查 Spring EL 的使用

对于涉及到 SpEL 表达式的地方,如自定义注解限流、权限校验、缓存等功能,需要确认是否读取了用户提供的请求参数。如果有此类情况,建议使用 SimpleEvaluationContext.forReadOnlyDataBinding 构建只读上下文,避免潜在风险。

建议:

随着 Spring Framework 的广泛应用,及时更新和修复漏洞对保证系统安全至关重要。本文的修复将帮助更多的开发者有效规避 CVE-2024-38808 和 CVE-2024-38809 的漏洞风险。如果你正在使用旧版本的 Spring Boot 版本,请尽快参考本文进行修复与升级喔。谢谢大家都支持。

http://www.ppmy.cn/news/1576394.html

相关文章

Nginx负载均衡策略详解:从轮询到智能分发,打造高可用服务架构

Nginx负载均衡策略详解&#xff1a;从轮询到智能分发&#xff0c;打造高可用服务架构 一、负载均衡的核心价值 当单台服务器无法承载高并发流量时&#xff0c;负载均衡通过将请求分发到多台服务器&#xff0c;实现&#xff1a; 横向扩展&#xff1a;突破单机性能瓶颈故障隔离…

PXE批量网络装机与Kickstart自动化安装工具

目录 一、系统装机的原理 1.1、系统装机方式 1.2、系统安装过程 二、PXE批量网络装机 2.1、PXE实现原理 2.2、搭建PXE实际案例 2.2.1、安装必要软件 2.2.2、搭建DHCP服务器 2.2.3、搭建TFTP服务器 2.2.4、挂载镜像并拷贝引导文件到tftp服务启动引导文件夹下 2.2.5、编…

Android Hilt 高级用法

Hilt 是 Android 官方推荐的依赖注入框架&#xff0c;虽然它提供了简单易用的 API&#xff0c;但在复杂项目中&#xff0c;我们可能需要用到更高级的特性&#xff0c;比如自定义作用域、多模块 DI、绑定接口、多构造函数注入等。 本文将介绍 Hilt 的一些高级用法&#xff0c;并…

DeepSeek、Grok 和 ChatGPT 对比分析:从技术与应用场景的角度深入探讨

文章目录 一、DeepSeek&#xff1a;知识图谱与高效信息检索1. 核心技术2. 主要特点3. 应用场景4. 实际案例 二、Grok&#xff1a;通用人工智能框架1. 核心技术2. 主要特点3. 应用场景4. 实际案例 三、ChatGPT&#xff1a;聊天机器人与通用对话系统1. 核心技术2. 主要特点3. 应用…

【MySQL】 基本查询(上)

欢迎拜访&#xff1a;-CSDN博客 本篇主题&#xff1a;【MySQL】 基本查询(上) 发布时间&#xff1a;2025.2.14 隶属专栏&#xff1a;MySQL CRUD : Create(创建), Retrieve(读取)&#xff0c;Update(更新)&#xff0c;Delete&#xff08;删除&#xff09; 目录 Create 基本知识…

大白话前端性能优化方法的分类与具体实现

大白话前端性能优化方法的分类与具体实现 一、资源加载优化 1. 压缩与合并文件 大白话解释&#xff1a; 咱们的网页代码里&#xff0c;就像一个房间堆满了东西&#xff0c;有很多没用的“杂物”&#xff0c;比如代码里的空格、注释啥的。压缩文件就是把这些“杂物”清理掉&a…

Linux安装jdk,node,mysql,redis

准备工作&#xff1a; 1.安装VMware软件&#xff0c;下载CentOs7镜像文件&#xff0c;在VMware安装CentOs7 2.宿主机安装Xshell用来操作linux 3. .宿主机安装Xftp用来在宿主机和虚拟机的linux传输文件 案例1&#xff1a;在 /home/soft文件夹解压缩jdk17&#xff0c;并配置环…

Linux运维——软件管理

Linux软件管理 一、rpm1.1、默认配置1.1.1、安装文件的默认位置1.1.2、配置文件位置1.1.3、查询已安装软件包的文件位置1.1.4、自定义安装路径1.1.5、rpm包缓存位置1.1.6、总结 1.2、使用方式1.2.1、基本用法1.2.2、常用示例1.2.3、高级用法1.2.4、注意事项1.2.5、与其它工具的…