SOP基本信息
-
SOP名称:Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)处置标准作业程序(SOP)
-
版本:1.0
-
发布日期:2025-1-22
-
作者:LK
-
审核人:T小组
-
修订记录:
-
初始版本:创建SOP
SOP的用途
SOP的目标用户技能要求
-
具备 Java 开发基础知识
-
熟悉 Apache Commons Fileupload 库的使用场景
-
掌握服务器配置修改以及应用程序部署和更新的基本操作
-
熟悉Apache Tomcat的配置文件及部署过程
漏洞详细信息
-
漏洞名称:Apache Commons Fileupload拒绝服务漏洞
-
CVE编号:CVE-2023-24998
-
漏洞类型:拒绝服务
-
风险等级:高危
-
CVSS评分:7.5
-
漏洞描述:
-
影响范围:
-
Apache Commons FileUpload版本1.0 - 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 是一个向 servlet 和 Web 应用程序提供文件上传功能的开源组件。1.5 之前版本中,由于 Apache Commons FileUpload 在处理用户的文件上传请求时未对文件数量进行限制,攻击者可通过上传大量文件造成拒绝服务。
1.5版本中用户可通过配置 FileUploadBase#setFileCountMax 限制用户文件上传数量(默认不启用,需手动配置)。
此外,由于Apache Tomcat使用Apache Commons FileUpload的打包重命名副本来提供Jakarta Servlet规范中定义的文件上传功能,因此Apache Tomcat也容易受到该漏洞影响。
漏洞处置方案
-
目前该漏洞已经修复,受影响用户可及时升级到以下版本:
-
Apache Commons Fileupload:
-
Apache Tomcat:
版本>=1.5
下载链接:https://commons.apache.org/proper/commons-fileupload/download_fileupload.cgi。
Apache Tomcat 版本 >= 11.0.0-M3
Apache Tomcat 版本 >= 10.1.5
Apache Tomcat 版本 >= 9.0.71
Apache Tomcat 版本 >= 8.5.85
下载链接:https://tomcat.apache.org/index.html
【注意事项】
-
该漏洞已在Apache Commons FileUpload版本 >= 1.5中修复,但新配置选项(FileUploadBase#setFileCountMax) 默认情况下未启用,必须明确配置,需要调用setFileCountMax方法来限制文件数量。 -
在进行任何修复操作之前,务必备份所有重要数据和配置文件。 -
升级或补丁应用过程中应尽量减少对业务的影响,尽量在维护窗口内完成所有操作。 -
遵循官方提供的安装和配置指南进行操作。 -
在生产环境中升级前,最好在测试环境中先进行测试。 -
修复漏洞前进行充分测试,以确保系统稳定性和安全性。
漏洞修补详细步骤
(一)备份相关文件和数据
-
确定与Apache Commons FileUpload相关的项目文件和配置所在的目录,这可能需要查看项目的构建文件(如Maven的pom.xml或Gradle的build.gradle等)或者应用程序的部署文档。
-
使用文件备份工具(如在Linux系统下可以使用 cp -R 命令或者创建压缩包 tar -zcvf)对整个项目目录或者至少对包含Apache Commons FileUpload相关文件的文件夹进行备份。例如,如果项目部署在 /var/www/myproject 目录下,并且确定FileUpload相关文件在 lib 目录下,可以执行以下备份命令:
cp -R /var/www/myproject/lib /var/www/myproject/lib_backup
(二)确认当前版本
-
确认Apache Commons FileUpload版本
-
在项目的构建文件(如Maven的pom.xml)中查找Apache Commons FileUpload的依赖声明部分,确认当前使用的版本是否在1.0 - 1.4之间。例如,在pom.xml中可能会有如下声明:
-
如果你的Spring Boot项目是一个可执行的jar文件,直接找到这个文件,使用文件压缩工具解压jar文件,解压后会看到BOOT-INF目录,其中的lib文件夹包含了所有的依赖库,通过查看lib文件夹下的文件名查看版本号,例如:commons-fileupload-1.3.jar中的1.3就是Apache Commons FileUpload的版本号。
-
确认Apache Tomcat版本
-
linux环境中运行以下命令:
-
windows环境中执行以下命令:
-
检查输出的 Server version 字段,确认当前运行的 Tomcat 版本是否在受影响范围内。
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
</dependency>
/path/to/tomcat/bin/version.sh
/path/to/tomcat/bin/version.bat
(三)升级版本
-
升级Apache Commons FileUpload版本
-
如果使用Maven构建项目
-
如果使用Gradle构建项目 -
升级Apache Tomcat 版本(以linux环境为例)
在项目的pom.xml文件中,找到Apache Commons FileUpload的依赖项,将版本号修改为1.5或更高版本。例如:
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.5</version>
</dependency>
在项目根目录下执行 mvn clean install
命令,Maven会自动下载新的版本依赖,并重新构建项目。
dependencies {
implementation 'commons-fileupload:commons-fileupload:1.5'
}
在项目根目录下执行 gradle clean build
命令,Gradle将下载新的版本并重新构建项目。
tar -czvf /path/to/tomcat_backup_$(date +%F).tar.gz /path/to/tomcat
/path/to/tomcat/bin/shutdown.sh
tar -xzvf apache-tomcat-<version>.tar.gz -C /path/to/tomcat_new
cp -r /path/to/tomcat/conf/* /path/to/tomcat_new/conf/
cp -r /path/to/tomcat/webapps/* /path/to/tomcat_new/webapps/
cp -r /path/to/tomcat/logs/* /path/to/tomcat_new/logs/
chown -R tomcat_user:tomcat_group /path/to/tomcat_new
chmod +x /path/to/tomcat_new/bin/*.sh
/path/to/tomcat_new/bin/start.sh
http://<your-server-ip>:8080/
(四)验证与测试阶段
-
将升级后的项目部署到测试环境,测试环境应尽可能模拟生产环境的配置。
-
对文件上传功能进行全面的测试,包括上传不同类型、大小的文件,确保文件上传功能正常工作,并且没有引入新的问题。
-
检查项目中的其他功能是否受到影响,特别是与文件上传功能有交互关系的模块,如文件存储、文件处理、权限管理等功能。
-
如果在测试过程中发现问题,需要根据问题的类型进行修复,可以是调整配置、修改代码逻辑等。如果问题是由于升级版本引起的兼容性问题,可以参考Apache Commons FileUpload的官方文档或者社区论坛寻求解决方案。
(五)记录处置过程
(六)提交报告
请注意,以上步骤可能因系统环境和具体配置而有所不同。在执行任何修复操作之前,请确保已充分了解系统的实际情况,并谨慎操作以避免对系统造成不必要的影响。
参考链接
https://nvd.nist.gov/vuln/detail/CVE-2023-24998
https://commons.apache.org/proper/commons-fileupload/security-reports.html
https://tomcat.apache.org/security-10.html
关注回复“24998”添加运营助手领取PDF版
↓
原文始发于微信公众号(方桥安全漏洞防治中心):Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)处置标准作业程序(SOP)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论