【漏洞处置SOP】Apache Tomcat远程代码执行漏洞(CVE-2025-24813)

admin 2025年4月23日19:50:54评论0 views字数 2556阅读8分31秒阅读模式
【漏洞处置SOP】Apache Tomcat远程代码执行漏洞(CVE-2025-24813)

01 SOP基本信息

  • SOP名称:Apache Tomcat远程代码执行漏洞(CVE-2025-24813)处置标准作业程序(SOP)

  • 版本:1.0

  • 发布日期:2025-03-12

  • 作者:just4fun

  • 审核人:T小组

  • 修订记录:

    • 初始版本:创建SOP

02 SOP的用途

本SOP旨在指导系统管理员安全、高效地处置 Apache Tomcat 远程代码执行漏洞(CVE-2025-24813),确保在规定时间内完成漏洞修复并提交给安全部门验证,保障系统安全。

03 SOP的目标用户技能要求

  • 熟悉 Apache Tomcat 配置和管理

  • 了解基本的系统管理和更新操作

  • 具备基本的网络安全知识

04 漏洞详细信息

  • 漏洞名称:Apache Tomcat远程代码执行漏洞

  • CVE编号:CVE-2025-24813

  • 漏洞类型:远程代码执行漏洞

  • 风险等级:

  • CVSS评分:8.1

  • 漏洞描述:由于Tomcat DefaultServlet 处理 partial PUT 请求(基于 `Content-Range` 头的 HTTP PUT 请求)时对临时文件命名逻辑问题,导致可以通过构造特殊的请求路径来获取安全配置文件中的凭据密钥,或执行恶意代码。

  • 影响范围:

    • 11.0.0-M1 <= Apache Tomcat <= 11.0.2

    • 10.1.0-M1 <= Apache Tomcat <= 10.1.34

    • 9.0.0.M1 <= Apache Tomcat <= 9.0.98

  • 漏洞利用条件:

    a. 满足以下条件,攻击者可以访问或修改安全敏感文件:

    - DefaultServlet 启用了写入权限(默认情况下禁用)。

    - 服务器启用了partial PUT(默认启用)。

    - 该敏感文件存放在允许上传的目录的子路径(攻击者需要能够在该敏感文件目录上级路径使用 partial PUT 上传文件)

    - 攻击者已知目标敏感文件的路径以及文件名。

    - 敏感文件是通过partial PUT 上传的。

    b. 满足以下条件,攻击者可以远程代码执行RCE):

    DefaultServlet 启用了写入权限(默认情况下禁用)。

    服务器启用了 partial PUT(默认启用)。

    Tomcat 使用了基于文件的 Session 持久化机制(非默认配置,默认为基于内存持久化),且存储位置为默认路径。

    - 应用程序包含可利用的反序列化漏洞库(如 Commons-Collections)。

05 漏洞处置方案

  • 升级到安全版本:

    • Apache Tomcat >=11.0.3

    • Apache Tomcat >=10.1.35

    • Apache Tomcat >=9.0.99

  • 临时缓解方案:

    • 禁止partial PUT:在 conf/web.xml 中修改 allowPartialPut 参数为false,并重启 Tomcat 以使配置生效。

    • 严格控制 DefaultServlet 写入权限:确保 readonly=true,禁用所有未经授权的 PUT/DELETE 请求,仅允许可信来源访问受限目录。

    • 审查依赖库:移除或更新存在反序列化漏洞的第三方库(如commons-collections等)。

【注意事项】

  • 在应用补丁或升级版本之前,请确保进行充分的备份。

  • 遵循官方提供的安装和配置指南进行操作。

  • 在生产环境中升级前,最好在测试环境中先进行测试。

  • 修复漏洞前进行充分测试,以确保系统稳定性和安全性。

  • 不同版本系列尽量升级到本系列版本无漏洞的版本,尽量不要版本跨度太大,避免出现一些不兼容情况。

06 漏洞修补详细步骤

以下是具体可操作的详细修复步骤参考:

1. 识别漏洞:确认当前版本和配置存在漏洞

以Windows Server 2016为例,tomcat安装路径为C:UserstestDesktopapache-tomcat-9.0.98-windows-x64apache-tomcat-9.0.98。

第一步是检查是否安装了漏洞版本。

假设用户已经安装了tomcat  9.0.98(漏洞版本),在tomcat安装目录的bin目录中,按着Shift + 鼠标右键,选择在此处打开命令行窗口,在弹出的窗口中输入version.bat(Linux运行version.sh),显示当前已安装的版本。

【漏洞处置SOP】Apache Tomcat远程代码执行漏洞(CVE-2025-24813)

第二步是检查confweb.xml文件中是否开启了PUT方法。

打开tomcat安装目录下的conf目录下的web.xml文件,看org.apache.catalina.servlets.DefaultServlet处readonly是否设置成了false。

【漏洞处置SOP】Apache Tomcat远程代码执行漏洞(CVE-2025-24813)

若以上前两步均满足,则漏洞存在。

三步是检查使用了基于文件的 Session 持久化机制(非默认配置,默认为基于内存持久化),且存储位置为默认路径。

具体是在tomcat安装目录下的conf目录下的context.xml文件,存在如下配置。

【漏洞处置SOP】Apache Tomcat远程代码执行漏洞(CVE-2025-24813)

第四步是检查使用了存在反序列化利用链的jar包。

具体是在tomcat安装目录下的lib目录下的jar文件中存在例如commons-beanutils-1.9.4.jar等。

若以上四步均满足,则可进行远程代码执行,危害极大

2. 实施修复:目标是安装Apache Tomcat 安全版本。

确认Windows版本:确认Windows系统是32位还是64位,可以在“我的电脑”或“此电脑”的属性中查看。

【漏洞处置SOP】Apache Tomcat远程代码执行漏洞(CVE-2025-24813)

打开浏览器,访问官网下载链接(https://tomcat.apache.org/download-90.cgi),下拉找到最新版本(当前为9.0.102),点击zip链接进行下载。

【漏洞处置SOP】Apache Tomcat远程代码执行漏洞(CVE-2025-24813)

然后根据系统版本下载64位或32位的。因环境为64位系统,下载文件为apache-tomcat-9.0.102-windows-x64.zip,将其解压缩即可使用。

【漏洞处置SOP】Apache Tomcat远程代码执行漏洞(CVE-2025-24813)

3. 验证修复:已升级至版本9.0.102

在tomcat安装目录的bin目录中,按着Shift + 鼠标右键,选择在此处打开命令行窗口,在弹出的窗口中输入version.bat(Linux运行version.sh),显示当前安装的版本号为9.0.102, 符合预期,证明当前漏洞已经修复。

【漏洞处置SOP】Apache Tomcat远程代码执行漏洞(CVE-2025-24813)

参考链接:

[1] Apache官方公告

[2] CVE-2025-24813详情

- End -

欢迎投稿或扫码添加运营助手获取附件

【漏洞处置SOP】Apache Tomcat远程代码执行漏洞(CVE-2025-24813)

欢迎关注公众号

原文始发于微信公众号(方桥安全漏洞防治中心):【漏洞处置SOP】Apache Tomcat远程代码执行漏洞(CVE-2025-24813)

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

发表评论

匿名网友 填写信息