Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)处置标准作业程序(SOP)

admin 2025年2月5日23:14:08评论21 views字数 4444阅读14分48秒阅读模式
Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)处置标准作业程序(SOP)
01

SOP基本信息

  • SOP名称:Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)处置标准作业程序(SOP)

  • 版本:1.0

  • 发布日期:2025-1-22

  • 作者:LK

  • 审核人:T小组

  • 修订记录:

    • 初始版本:创建SOP

02

SOP的用途

本SOP旨在指导系统管理员安全、高效地处置Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998),确保在规定时间内完成漏洞修复并提交给安全部门验证,保障系统安全。
03

SOP的目标用户技能要求

  • 具备 Java 开发基础知识

  • 熟悉 Apache Commons Fileupload 库的使用场景

  • 掌握服务器配置修改以及应用程序部署和更新的基本操作

  • 熟悉Apache Tomcat的配置文件及部署过程

04

漏洞详细信息

  • 漏洞名称:Apache Commons Fileupload拒绝服务漏洞

  • CVE编号:CVE-2023-24998

  • 漏洞类型:拒绝服务

  • 风险等级:高危

  • CVSS评分:7.5

  • 漏洞描述:

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

05

漏洞处置方案

  • 目前该漏洞已经修复,受影响用户可及时升级到以下版本:

    • Apache Commons Fileupload:

    • 版本>=1.5

      下载链接:https://commons.apache.org/proper/commons-fileupload/download_fileupload.cgi。

    • Apache Tomcat:

    • 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方法来限制文件数量。
  • 在进行任何修复操作之前,务必备份所有重要数据和配置文件。
  • 升级或补丁应用过程中应尽量减少对业务的影响,尽量在维护窗口内完成所有操作。
  • 遵循官方提供的安装和配置指南进行操作。
  • 在生产环境中升级前,最好在测试环境中先进行测试。
  • 修复漏洞前进行充分测试,以确保系统稳定性和安全性。
06

漏洞修补详细步骤

以下是针对Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)的漏洞处置可操作执行的具体步骤:

(一)备份相关文件和数据

  1. 确定与Apache Commons FileUpload相关的项目文件和配置所在的目录,这可能需要查看项目的构建文件(如Maven的pom.xml或Gradle的build.gradle等)或者应用程序的部署文档。

  2. 使用文件备份工具(如在Linux系统下可以使用 cp -R 命令或者创建压缩包 tar -zcvf)对整个项目目录或者至少对包含Apache Commons FileUpload相关文件的文件夹进行备份。例如,如果项目部署在 /var/www/myproject 目录下,并且确定FileUpload相关文件在 lib 目录下,可以执行以下备份命令:

  3. cp -R /var/www/myproject/lib /var/www/myproject/lib_backup

(二)确认当前版本

  1. 确认Apache Commons FileUpload版本

    • 在项目的构建文件(如Maven的pom.xml)中查找Apache Commons FileUpload的依赖声明部分,确认当前使用的版本是否在1.0 - 1.4之间。例如,在pom.xml中可能会有如下声明:

    • <dependency>    <groupId>commons-fileupload</groupId>    <artifactId>commons-fileupload</artifactId>    <version>1.3</version></dependency>

    • 如果你的Spring Boot项目是一个可执行的jar文件,直接找到这个文件,使用文件压缩工具解压jar文件,解压后会看到BOOT-INF目录,其中的lib文件夹包含了所有的依赖库,通过查看lib文件夹下的文件名查看版本号,例如:commons-fileupload-1.3.jar中的1.3就是Apache Commons FileUpload的版本号。

    • Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)处置标准作业程序(SOP)

  2. 确认Apache Tomcat版本

    • linux环境中运行以下命令:

    /path/to/tomcat/bin/version.sh
    • windows环境中执行以下命令:

    /path/to/tomcat/bin/version.bat
    • 检查输出的 Server version 字段,确认当前运行的 Tomcat 版本是否在受影响范围内。

    Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)处置标准作业程序(SOP)

(三)升级版本

  1. 升级Apache Commons FileUpload版本

    • 如果使用Maven构建项目

    在项目的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会自动下载新的版本依赖,并重新构建项目。
    • 如果使用Gradle构建项目
    在项目的build.gradle文件中,修改Apache Commons FileUpload的依赖版本。例如:
    dependencies {implementation 'commons-fileupload:commons-fileupload:1.5'}

    在项目根目录下执行 gradle clean build 命令,Gradle将下载新的版本并重新构建项目。
  2. 升级Apache Tomcat 版本(以linux环境为例)

  3. ① 备份当前的Tomcat目录
    tar -czvf /path/to/tomcat_backup_$(date +%F).tar.gz /path/to/tomcat
    ② 下载新的Tomcat版本:
    访问Apache Tomcat官网下载页面:Apache Tomcat Download,下载所需版本的Tomcat。
    Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)处置标准作业程序(SOP)
    ③通知当前运行的Tomcat服务
    在升级之前,确保Tomcat实例已停止,执行Tomcat的bin目录下的停止脚本。
    /path/to/tomcat/bin/shutdown.sh
    ④ 解压新的Tomcat包
    将下载的Tomcat上传并解压到目标目录。
    tar -xzvf apache-tomcat-<version>.tar.gz -C /path/to/tomcat_new
    ⑤ 迁移配置和数据
    将之前备份的配置文件和数据迁移到新的Tomcat目录中。
    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/
    ⑥ 设置正确的权限
    确保新的Tomcat目录和文件权限设置正确,命令中用户名和用户组根据实际情况填写。
    chown -R tomcat_user:tomcat_group /path/to/tomcat_newchmod +x /path/to/tomcat_new/bin/*.sh
    ⑦ 启动新的Tomcat实例
    执行新的Tomcat的bin目录下启动脚本,启动新的Tomcat实例,并检查日志文件以确保没有错误。
    /path/to/tomcat_new/bin/start.sh
    Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)处置标准作业程序(SOP)
    ⑧ 验证Tomcat升级
    通过访问Tomcat的默认页面或任何已部署的应用来验证的Tomcat是否正确运行。
    http://<your-server-ip>:8080/
    Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)处置标准作业程序(SOP)

(四)验证与测试阶段

  1. 将升级后的项目部署到测试环境,测试环境应尽可能模拟生产环境的配置。

  2. 对文件上传功能进行全面的测试,包括上传不同类型、大小的文件,确保文件上传功能正常工作,并且没有引入新的问题。

  3. 检查项目中的其他功能是否受到影响,特别是与文件上传功能有交互关系的模块,如文件存储、文件处理、权限管理等功能。

  4. 如果在测试过程中发现问题,需要根据问题的类型进行修复,可以是调整配置、修改代码逻辑等。如果问题是由于升级版本引起的兼容性问题,可以参考Apache Commons FileUpload的官方文档或者社区论坛寻求解决方案。

(五)记录处置过程

撰写漏洞处置报告,详细记录修补步骤、日期和结果。

(六)提交报告

将漏洞处置报告提交给安全部门,等待验证和确认。

请注意,以上步骤可能因系统环境和具体配置而有所不同。在执行任何修复操作之前,请确保已充分了解系统的实际情况,并谨慎操作以避免对系统造成不必要的影响。

07

参考链接

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)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月5日23:14:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Apache Commons Fileupload拒绝服务漏洞(CVE-2023-24998)处置标准作业程序(SOP)https://cn-sec.com/archives/3701314.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息