0


SpringBoot内嵌Tomcat版本升级步骤

一、前言

由于Apache Commons FileUpload对请求部分要处理的数量未做限制,导致攻击者可以利用此漏洞恶意上传或一系列上传触发拒绝服务。

Apache Tomcat由于使用Apache Commons FileUpload的打包重命名副本来提供Jakarta Servlet规范中定义的文件上传功能。因此,Apache Tomcat也受到CVE-2023-24998影响。

影响版本:

Apache Commons FileUpload 1.0-beta-1 - 1.4
Apache Tomcat 11.0.0-M1
Apache Tomcat 10.1.0-M1 - 10.1.4
Apache Tomcat 9.0.0-M1 - 9.0.70
Apache Tomcat 8.5.0 - 8.5.84

安全版本:

Apache Commons FileUpload >= 1.5
Apache Tomcat >= 11.0.0-M3
Apache Tomcat >= 10.1.5
Apache Tomcat >= 9.0.71
Apache Tomcat >= 8.5.85

现space框架使用的springboot版本是2.3.2.RELEASE,内嵌tomcat版本是9.0.37,在受影响范围内,所以对tomcat版本进行升级,考虑到最新版tomcat的javax包迁移到jakarta,如果升级版本太高,需要改动代码量过多,容易引起其他问题,所以选择升级到9.0.71版本

二、升级步骤

添加版本信息

<tomcat.version>9.0.71</tomcat.version>

springboot 项目加上面的版本号即可

springcloud 项目如果加上版本号不生效,再加下面的配置

版本控制<dependencyManagement>里添加依赖控制

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>${spring-boot.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-el</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-websocket</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-annotations-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-core</artifactId>
    <version>${tomcat.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-annotations-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-annotations-api</artifactId>
    <version>${tomcat.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-el</artifactId>
    <version>${tomcat.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-websocket</artifactId>
    <version>${tomcat.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

重新编译项目后,本地运行测试


升级成功

标签: java springboot tomcat

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

“SpringBoot内嵌Tomcat版本升级步骤”的评论:

还没有评论