漏洞背景
Apache Tomcat 作为全球广泛使用的开源Java Servlet容器,为Java Web应用提供核心运行环境。2025年3月10日,Apache官方披露一处高危远程代码执行漏洞(CVE-2025-24813),攻击者可在特定条件下通过部分PUT请求实现恶意代码执行或敏感信息泄露。由于Tomcat在大型企业应用中的普及性,该漏洞潜在影响范围达十万级服务器。
漏洞概述
漏洞源于Tomcat处理部分PUT请求时对临时文件的路径校验缺陷。当应用程序同时满足以下条件时,攻击者可构造恶意请求:
-
启用默认Servlet写入功能(默认禁用); -
使用Tomcat默认会话持久化机制及存储路径; -
依赖库存在可利用的反序列化漏洞链。在此场景下,攻击者可上传恶意文件覆盖敏感数据,或通过反序列化链实现远程代码执行(RCE),最终控制目标服务器。
漏洞详情
-
漏洞成因
-
路径等价绕过:部分PUT功能在处理文件名时,将路径分隔符替换为 .
,导致恶意构造的file.Name
可绕过目录限制,写入非预期位置。 -
会话持久化缺陷:结合Tomcat默认文件会话存储机制,攻击者可注入恶意序列化数据,触发依赖库的反序列化漏洞。 -
攻击场景
-
敏感信息泄露:覆盖或读取系统配置文件、密钥等敏感文件。 -
远程代码执行:通过上传恶意序列化文件至会话存储目录,触发反序列化漏洞接管服务器。
影响范围
Tomcat版本 | 受影响状态 |
---|---|
|
|
|
|
|
|
|
安全 |
解决措施
-
官方修复方案
-
Tomcat 11.x → 11.0.3+ -
Tomcat 10.1.x → 10.1.35+ -
Tomcat 9.x → 9.0.99+ -
立即升级至安全版本: -
下载地址:Apache Tomcat安全更新页:https://tomcat.apache.org/security.html -
临时缓解措施
-
禁用Servlet写入功能:在配置文件中设置 readonly=true
,限制文件上传。 -
审查依赖库:移除或更新存在反序列化漏洞的第三方库(如commons-collections等)。
安全建议
-
版本检测
-
使用 ${CATALINA_HOME}/bin/version.sh
(Linux)或version.bat
(Windows)检查当前Tomcat版本,确认是否在受影响范围内。 -
长期防护策略
-
最小化功能启用:仅开启必要服务(如非必需,禁用PUT方法)。 -
会话存储隔离:自定义会话持久化路径,避免使用默认目录。 -
持续监控更新:订阅Apache官方安全通告,建立自动化补丁管理流程。
参考链接
[1] Apache官方公告:https://lists.apache.org/thread/j5fkjv2k477os90nczf2v9l61fb0kkgq[2] CVE-2025-24813详情:https://nvd.nist.gov/vuln/detail/CVE-2025-24813
原文始发于微信公众号(安全狐):【漏洞速递】Apache Tomcat 远程代码执行漏洞(CVE-2025-24813)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论