0


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

在这里插入图片描述

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

这里写目录标题

前言

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

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版本为

2.3.11.RELEASE

而默认对应的Spring Framework版本为

5.2.15.RELEASE

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

5.2.20.RELEASE

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

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

   <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.3.11.RELEASE</version>
    </parent>

    <properties>
        <spring-framework.version>5.2.20.RELEASE</spring-framework.version>
    </properties>

基于spring-boot-dependencies方式解决

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

spring-boot-dependencies.pom

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

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-framework-bom</artifactId>
                <version>5.2.20.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.3.11.RELEASE</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>

值得注意的是

spring-framework-bom

必须在

spring-boot-dependencies

之前否则不生效!

检查是否完成升级

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

结语

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


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

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

还没有评论