0


SpringBoot项目中 Spring Framework远程代码执行漏洞的处理方案

在这里插入图片描述

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志
🎐 个人CSND主页——Micro麦可乐的博客
🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战
🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战
🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解
如果文章能够给大家带来一定的帮助!欢迎关注、评论互动~

这里写目录标题

前言

公司最近要求对所有项目进行漏洞检测修复,其中有一项漏洞名称为

  1. Spring Framework远程代码执行漏洞(CVE-2022-22965

需要升级Spring Framework版本解决,如图
在这里插入图片描述

  • 该漏洞等级为:高危
  • 影响范围:Spring Framework < 5.3.18``````Spring Framework < 5.2.20
  • 修复建议 将Spring Framework升级至安全版本 ,即升级5.2.20及以上版本 或 5.3.18及以上版本,具体官方修复的5.2和5.3版本可以查找 https://github.com/spring-projects/spring-framework/tags

问题

由于某个项目使用的SpringBoot版本为

  1. 2.3.11.RELEASE

而默认对应的Spring Framework版本为

  1. 5.2.15.RELEASE

,直接升级 5.3.18 及以上版本会导致项目各种报错,这里博主还是决定升级为

  1. 5.2.20.RELEASE

基于spring-boot-starter-parent方式解决

这种方式通过 spring-boot-starter-parent 引入并使用spring boot,这种方式只需要在pom文件中加入springframework 的版本号变量就可以覆盖版本号的定义

  1. <parent>
  2. <artifactId>spring-boot-starter-parent</artifactId>
  3. <groupId>org.springframework.boot</groupId>
  4. <version>2.3.11.RELEASE</version>
  5. </parent>
  6. <properties>
  7. <spring-framework.version>5.2.20.RELEASE</spring-framework.version>
  8. </properties>

基于spring-boot-dependencies方式解决

通过在dependencyManagement中加入对应的spring-framework-bom处理,在此之前我们可以查看

  1. spring-boot-dependencies.pom

配置可以看到对应spring-framework版本,以及spring-framework-bom的相关配置
在这里插入图片描述

  1. <dependencyManagement>
  2. <dependencies>
  3. <dependency>
  4. <groupId>org.springframework</groupId>
  5. <artifactId>spring-framework-bom</artifactId>
  6. <version>5.2.20.RELEASE</version>
  7. <type>pom</type>
  8. <scope>import</scope>
  9. </dependency>
  10. <dependency>
  11. <groupId>org.springframework.boot</groupId>
  12. <artifactId>spring-boot-dependencies</artifactId>
  13. <version>2.3.11.RELEASE</version>
  14. <scope>import</scope>
  15. <type>pom</type>
  16. </dependency>
  17. </dependencies>
  18. </dependencyManagement>

值得注意的是

  1. spring-framework-bom

必须在

  1. spring-boot-dependencies

之前否则不生效!

检查是否完成升级

通过maven刷新项目,查看项目依赖,检查springframework是否升级到了指定版本
在这里插入图片描述

结语

本文主要和大家分享一下博主本次处理低版本SpringBoot项目的Spring Framework远程代码执行漏洞的方案,具体升级至什么版本主要还是看大家使用的SpringBoot版本决定


本文转载自: https://blog.csdn.net/lhmyy521125/article/details/137484259
版权归原作者 Micro麦可乐 所有, 如有侵权,请联系我们删除。

“SpringBoot项目中 Spring Framework远程代码执行漏洞的处理方案”的评论:

还没有评论