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

news2024/9/21 22:46:15

本文提供的修复指南将帮助开发者有效规避 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.coloradmin.cn/o/2047433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

flink车联网项目前篇:业务实现1(第67天)

系列文章目录 业务实现 3.1 创建catalog 3.1.1 vvp 3.1.2 mysqlcdc 3.1.2.1 使用限制 3.1.2.2 配置MySQL Catalog 3.1.3 xxxxpm 3.1.3.1 下载Paimon插件 3.1.3.2 在MaxCompute项目中上传Paimon插件 3.1.3.3 创建自定义Catalog类型 3.1.3.5 配置catalog 3.1.4 xxxxx 3.1.4.1 背…

Linux设置yum源为阿里云镜像源

一、验证网络是否可以连接阿里云镜像 #验证网络是否可以连接阿里云镜像 ping mirrors.aliyun.com如果ping不通&#xff0c;则找一台可以连接外网的电脑&#xff0c;ping一下mirrors.aliyun.com&#xff0c;找到mirrors.aliyun.com对应的ip。 二、 手动配置 #删除原yum源 rm -…

微信小程序免费《短视频去水印》

分享一个uniapp开发的微信小程序免费《短视频去水印》小程序 <template><view class"content"><view class"area-wrap"><textarea name"" v-model"state.content" maxlength"800" id"" cols…

接口自动化测试怎么做?该怎么学习

一. 什么是接口测试 顾名思义&#xff0c;接口测试是对系统或组件之间的接口进行测试&#xff0c;主要是校验数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及相互逻辑依赖关系。其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型&#xff0c;测试类型又主…

《黑神话:悟空》媒体评分解禁 M站均分82

《黑神话&#xff1a;悟空》媒体评分现已解禁&#xff0c;截止发稿时&#xff0c;M站共有43家媒体评测&#xff0c;均分为82分。 部分媒体评测&#xff1a; God is a Geek 100&#xff1a; 毫无疑问&#xff0c;《黑神话&#xff1a;悟空》是今年最好的动作游戏之一&#xff…

linux系统安装mysql服务

linux系统安装mysql服务 1.下载安装包2.下载压缩文件解压安装3. 安装完启动服务4.查看安装密码5.使用上述密码登录6.修改密码7.创建一个root可以在任意主机远程连接数据库8.远程登录成功 1.下载安装包 https://downloads.mysql.com/archives/community/ mysql下载地址 2.下载…

【AI安防】YOLOv8 + OpenVINO2023 + QT5 电子围栏预警系统

引言 电子围栏是一种利用无线通信技术和地理信息系统实现的虚拟边界&#xff0c;用于监控和控制被监控对象的位置。它可以帮助我们实现对特定区域内的自定义对象进行实时检测、定位与跟踪。本文介绍了一种基于YOLOv8 OpenVINO2023 QT5 联合打造的实时高效、多线程、自定义对…

Keepalived简介以及常见用途

一、Keepalived 简介 Keepalived 是一个高可用性&#xff08;HA&#xff09;解决方案&#xff0c;主要用于实现 Linux 系统的负载均衡和故障转移。它最初设计用于与 LVS&#xff08;Linux Virtual Server&#xff09;一起使用&#xff0c;但也可以独立使用&#xff0c;主要功能…

0815,析构函数,拷贝构造函数,赋值运算符函数

来自同济医院的问候 目录 01&#xff1a;对象创建 001.cc 003size.cc 02&#xff1a;对象销毁 004pointer.cc 005destroytime.cc 03&#xff1a;本类型对象的复制 3.1 拷贝构造函数 006cp.cc 007cptime.cc 008recursion.cc 009rightleft.cc 3.2 赋值运算符函数 …

8.15 Day20 Windows服务器(Windows service 2008 R2)上域的搭建 (3)

1、域策略配置 1.1 DC服务端的策略配置 1.1.1 下放权限 由于各部门经理的电脑上并不存在对应的工具&#xff0c;即便授予权限也无法对各自部门进行管理 如果经理只有几个&#xff0c;管理员可以一一为其配置&#xff0c;但如果一个公司有几十个经理&#xff0c;则会变得相当冗…

测试用例的设计

*涉及概念来源于《软件测试的艺术》 目录 一、为什么要设计测试用例&#xff1f; 二、黑盒测试与白盒测试介绍 三、测试用例常见设计方法 1.黑盒测试(功能测试) 2.白盒测试(结构测试) 四、测试策略 五、测试用例怎么写 一、为什么要设计测试用例&#xff1f; 由于时间…

C语言传递指针给函数

C 语言允许您传递指针给函数&#xff0c;只需要简单地声明函数参数为指针类型即可。 下面的实例中&#xff0c;我们传递一个无符号的 long 型指针给函数&#xff0c;并在函数内改变这个值 实例1&#xff1a;获取系统的时间值 能接受指针作为参数的函数&#xff0c;也能接受数…

【Vue3】路由Params传参

【Vue3】路由Params传参 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日…

Vue2移动端(H5项目)项目基于vant封装图片上传组件(支持批量上传、单个上传、回显、删除、预览、最大上传数等功能)---解决批量上传问题

一、最终效果 二、参数配置 1、代码示例&#xff1a; <t-uploadfileList"fileList":showFileList"showFileList"showFile"showFile":showFileUrl"showFileUrl"/>2、配置参数&#xff08;TUpload Attributes&#xff09;继承va…

vulnhub系列:DC-1

vulnhub系列&#xff1a;DC-1 靶机下载 一、信息收集 nmap 扫描存活&#xff0c;根据 mac 地址寻找 IP nmap 192.168.23.0/24nmap 扫描端口 nmap 192.168.23.141 -p- -Pn -sV -Odirsearch 目录扫描 python3 dirsearch.py -u http://192.168.23.141/访问80端口 查看 wappa…

数据资产三次入表理论

数据资产三次入表理论 数据资产入表三大阶段详见图。 初次入表&#xff1a;底层资产入表 初次入表主要指的是企业将已实际形成的底层原始数据资源&#xff0c;按照《企业数据资源相关会计处理暂行规定》的要求&#xff0c;首次纳入会计层面的企业资产库。这一阶段工作的完成&am…

8.16 day bug

bug1 题目没看仔细 额外知识 在 Bash shell 中&#xff0c;! 符号用于历史扩展功能。当你在命令行中输入 ! 后跟一些文本时&#xff0c;Bash 会尝试从你的命令历史中查找与该文本相匹配的命令。这是一种快速重用之前执行过的命令的方法。 如何使用历史扩展 基本用法: !strin…

进程间通信—无名管道

gg shiftg快速对齐 加锁顺序问题时&#xff0c;如果解锁了&#xff0c;两个同时申请抢锁&#xff0c;谁抢到了运行谁&#xff0c;循环迭代时释放锁也是同时申请锁&#xff0c;循环部分如果没抢到锁就进入循环等待 总结: IPC 进程间通信 interprocess communicate //signal…

【阿卡迈防护分析】Vueling航空Akamai破盾实战

文章目录 1. 写在前面2. 风控分析3. 破盾实战 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python…

Elasticsearch新增和删除索引中的字段

在ES中&#xff0c;增加字段相对比较容易&#xff0c;因为ES支持动态映射&#xff08;Dynamic Mapping&#xff09;。 当索引中新增文档时&#xff0c;ES可以根据文档中的字段自动创建对应的映射关系。如果新字段类型与已有字段类型不同&#xff0c;ES会自动将已有字段类型转换…