当前位置: 首页 > news >正文

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

本文提供的修复指南将帮助开发者有效规避 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.dtcms.com/a/610371.html

相关文章:

  • GEO:抢占AI流量新入口,让品牌成为智能问答中的“标准答案”
  • 钓鱼网站免费空间公司做网站有意义么
  • 单片机超轻量级多任务操作系统实战指南
  • 如何下载各个版本MacOS系统安装包
  • 【Docker安装】Windows10专业版安装教程
  • 等差数列前n项的和
  • 库尔勒市建设路街道办网站邢台网站建设网络优化
  • 网站报301错误重庆妇科医院免费咨询
  • Opengl绘制流程
  • 使用AI来介绍AI
  • 废品回收系统小程序源码
  • 如何选择与使用C++编译器优化开发效率
  • 从“海量文书”到“精准数据”:文档智能抽取重塑车险核心竞争力
  • 【WindowsAPI】 Windows SDK 的包含目录结构
  • Linux环境下的C语言编程(二十二)
  • 网站制作有哪些种类网站建设实训报告作业
  • 运城市网站建设公司发布网站的流程
  • CNN_Demo_20251114
  • 佳易王桌球计时计费管理系统:专注单店数字化运营
  • Rsync:管理员详细指南 第2部分
  • 海康摄像机SDK获取视频流转码显示
  • 事业单位网站登录模板景德镇陶瓷学院校友做网站的
  • 当消防安全遇见数字孪生:一场防患于未“燃”的科技革命
  • Day 43 复习日--Fashion Mnist数据集
  • Android线程池参数配置指南:理论与实战
  • 外贸网站建设科技公司logo是什么意思
  • 手机网站如何排版高端网站建设 恩愉科技
  • 广州手机建设网站小说网站80电子书怎么做
  • S型单级双吸水平中开式离心泵泵轴断裂原因
  • 网站制作怎么学用闲置的安卓手机做网站服务器