Apache Tomcat远程代码执行漏洞(CVE-2025-24813)是一个严重的安全问题,它允许攻击者在特定条件下上传恶意Session文件并执行远程代码。以下是关于此漏洞的详细信息和建议的应对措施。
1、 漏洞详情
根据奇安信CERT发布的安全风险通告,当应用程序启用servlet写入功能(默认情况下禁用)、使用Tomcat默认会话持久机制和存储位置、依赖库存在反序列化利用链时,未授权攻击者能够执行恶意代码获取服务器权限。这意味着如果您的Tomcat实例配置了这些非标准设置,就可能存在被攻击的风险。
2、影响范围
该漏洞影响以下版本的Apache Tomcat:
1.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
如果您正在使用上述版本之一,那么您的系统可能处于危险之中。
3、排查步骤
为了确保系统的安全性,您需要对所有使用Tomcat的服务进行检查。具体来说,应该检查以下几个方面:
1. 确认Tomcat版本:首先确定您所使用的Tomcat版本是否在受影响范围内。
2. 检查readonly参数:打开`conf/web.xml`文件,
查找`org.apache.catalina.servlets.DefaultServlet`下的`readonly`参数
如果这个值被设为`false`,则代表可能存在安全风险,因为这将允许客户端通过HTTP PUT请求修改静态资源。
3. 评估其他条件:考虑是否存在启用servlet写入功能的情况,以及是否有使用默认会话持久化机制和存储位置等可能导致漏洞被利用的因素。
4、修复建议
针对CVE-2025-24813,官方已经发布了补丁,并且提供了最新的稳定版本以供用户升级。具体的修复措施包括但不限于:
1. 立即升级:尽快将Tomcat升级至不受影响的版本,如Apache Tomcat >=11.0.3, >=10.1.35, 或者 >=9.0.99。
2. 调整配置:如果没有计划立即升级,至少应确保`readonly`参数保持其默认值`true`,或者直接注释掉相关配置行。
3. 禁用不必要功能:对于不必要的功能,例如PUT方法,应予以禁用,以减少潜在的攻击面。
官方链接
CVE-2025-24813 Flaw in Apache Tomcat Exposes Servers to RCE, Data Leaks: Update Immediately
https://lists.apache.org/thread/j5fkjv2k477os90nczf2v9l61fb0kkgq