一、前言
由于Apache Commons FileUpload對請求部分要處理的數(shù)量未做限制,導致攻擊者可以利用此漏洞惡意上傳或一系列上傳觸發(fā)拒絕服務。
Apache Tomcat由于使用Apache Commons FileUpload的打包重命名副本來提供Jakarta Servlet規(guī)范中定義的文件上傳功能。因此,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
現(xiàn)space框架使用的springboot版本是2.3.2.RELEASE,內(nèi)嵌tomcat版本是9.0.37,在受影響范圍內(nèi),所以對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>
重新編譯項目后,本地運行測試文章來源:http://www.zghlxwxcb.cn/news/detail-508100.html


升級成功文章來源地址http://www.zghlxwxcb.cn/news/detail-508100.html
到了這里,關于SpringBoot內(nèi)嵌Tomcat版本升級步驟的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!