【已复现】Apache Tomcat Partial PUT远程代码执行漏洞(CVE-2025-24813)

【已复现】Apache Tomcat Partial PUT远程代码执行漏洞(CVE-2025-24813)

长亭安全应急响应中心 2025-03-11 18:27

Apache Tomcat 是一个开源的 Java Servlet 容器和 Web 服务器,支持运行 Java Servlet、JavaServer Pages (JSP) 和其他基于 Java 的 Web 应用程序,广泛用于开发和部署企业级 Web 应用。2025 年 3 月,Apache 官方发布安全通告,修复了 Tomcat 中的一个远程代码执行(RCE)、信息泄露或信息篡改漏洞(CVE-2025-24813)。该漏洞影响启用了Partial PUT和DefaultServlet写入权限的环境,可能导致攻击者绕过路径校验访问敏感文件或写入特定文件以执行恶意代码。由于该漏洞的利用条件较为苛刻,受影响的用户可根据实际情况评估风险,并决定是否立即修复此漏洞。
漏洞描述

Description 

01

漏洞成因该漏洞源于 Tomcat DefaultServlet 处理 partial PUT 请求(基于 Content-Range 头的 HTTP PUT 请求)时的 临时文件命名逻辑不安全,导致攻击者可以通过构造特殊的请求路径,访问或写入安全敏感文件。利用条件满足以下条件,攻击者可以访问或修改安全敏感文件:1. DefaultServlet 启用了写入权限(默认情况下禁用)。2. 服务器启用了 partial PUT(默认启用)。3. 该敏感文件存放在允许上传的目录的子路径(攻击者需要能够在该敏感文件目录上级路径使用 partial PUT 上传文件)4. 攻击者已知目标敏感文件的路径以及文件名。5. 敏感文件是通过partial PUT 上传的。满足以下条件,攻击者可以远程代码执行(RCE):1. DefaultServlet 启用了写入权限(默认情况下禁用)。2. 服务器启用了partial PUT(默认启用)。3. Tomcat 使用了基于文件的 Session 持久化机制(非默认配置,默认为基于内存持久化),且存储位置为默认路径。4. 应用程序包含 可利用的反序列化漏洞库(如 Commons-Collections 3.x)。漏洞影响访问或修改敏感文件:通过获取安全配置文件,获取凭据或密钥。通过修改关键配置文件,影响服务器运行状态。远程代码执行(RCE):结合 Tomcat 基于文件的 Session 持久化机制,利用反序列化漏洞执行恶意代码。处置优先级:中漏洞类型:逻辑漏洞漏洞危害等级:高触发方式:网络远程权限认证要求:无需权限系统配置要求:非默认配置,DefaultServlet 需要启用写入权限,远程代码执行需要额外启用基于文件的 Session 持久化配置用户交互要求:无需用户交互利用成熟度:POC/EXP未公开修复复杂度:低,官方提供补丁修复方案影响版本 Affects 0211.0.0-M1 ≤ Apache Tomcat ≤ 11.0.210.1.0-M1 ≤ Apache Tomcat ≤ 10.1.349.0.0.M1 ≤ Apache Tomcat ≤ 9.0.98解决方案 Solution 03临时缓解方案如果暂时无法升级,可以采取以下临时措施降低风险:禁止partial PUT:在 conf/web.xml 中修改 allowPartialPut 参数为false,并 重启 Tomcat 以使配置生效。严格控制 DefaultServlet 写入权限:确保 readonly=true,禁用所有未经授权的 PUT/DELETE 请求,仅允许可信来源访问受限目录。升级修复方案Apache 官方已发布安全通告并发布了修复版本11.0.3、10.1.35、9.0.99,请尽快下载安全版本修复漏洞。漏洞复现Reproduction 04
时间线

Timeline 

05
3月10日 互联网公开披露该漏洞3月11日 长亭应急安全实验室复现漏洞3月11日 长亭安全应急响应中心发布通告
参考资料:

[1]. 
https://lists.apache.org/thread/j5fkjv2k477os90nczf2v9l61fb0kkgq

长亭应急响应服务

全力进行产品升级

及时将风险提示预案发送给客户

检测业务是否受到此次漏洞影响

请联系长亭应急服务团队

7*24小时,守护您的安全

第一时间找到我们:

邮箱:[email protected]