近期,TencentOS 安全团队监控到 Apache Tomcat 组件存在远程代码执行漏洞(CVE-2025-24813)。监测到漏洞情报后,安全团队第一时间对漏洞进行分析和修复。 Apache Tomcat 是一个开源的 Java Web 应用服务器,它实现了 Java Servle t和 JavaServer Pages (JSP) 规范。Tomcat 支持多种功能,包括 HTTP/HTTPS 服务、AJP 连接器、以及对 Servlet 和 JSP 的支持,使其成为开发和部署 Java Web 应用程序的理想选择。
若您已使用 Apache Tomcat 软件,建议您及时开展风险自查,如受影响,请及时根据 TencentOS 为用户提供的漏洞修复解决方案进行防护,确保您的系统安全。
1.漏洞详解
漏洞详情
攻击者利用 Apache Tomcat 处理部分 PUT 请求时的逻辑缺陷,构造特殊的 HTTP PUT 请求将路径分隔符替换为“.”,上传恶意序列化文件至默认会话存储目录,且目标系统同时启用 DefaultServlet 写入功能(默认禁用)、开启 partial PUT(默认启用)、使用文件会话持久化默认路径且存在反序列化漏洞库(如 Commons-Collections 3.x ),则可触发远程代码执行( RCE ),导致服务器被完全控制、敏感数据泄露(如安全配置文件凭据)或业务中断。
2.受影响自查指南
自查系统是否安装 Apache Tomcat,若未安装,则漏洞不涉及。
[root@tencentos] sudo rpm -qa | grep tomcat
受影响组件版本:
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
3.修复方案
若您的版本在受影响范围,TencentOS yum 源已在第一时间将合入了官方漏洞补丁的包推送至系统仓库,您可通过升级相关应用至安全版本,以修复漏洞。
修复指引:
[root@tencentos] sudo yum clean all
[root@tencentos] sudo yum makecache
[root@tencentos] sudo yum update -y tomcat
执行完成后确认安装了修复后的 tomcat 包
[root@tencentos] sudo rpm -q tomcat
具体版本如下:
TencentOS Server v4 :tomcat-9.0.86-8.tl4.1.noarch
TencentOS Server v3 :tomcat-9.0.87-1.tl3.3.noarch
注意!此步骤可能造成业务中断,请挑选合适时间尽快执行!
重启tomcat服务
[root@tencentos] sudo systemctl restart tomcat
4.规避措施
如果您使用的 Apache Tomcat 是老版本,或者不方便升级到最新版本的 Apache Tomcat 时,可使用如下方式进行规避。
(1)排查 /etc/tomcat/web.xml 文件,设置 DefaultServlet 的 readonly 为 true,若无此配置则无需处置;
(2)排查 /etc/tomcat/web.xml 文件,设置 DefaultServlet 的 allowPartialPut 为 false,若无此配置需要手动添加;
(3)tomcat 的文件会话持久化开启状态下,在context.xml 文件中修改默认的会话存储位置。
打开 /etc/tomcat/context.xml 文件,有如下配置代表开启文件会话持久化
<Context\>
<Manager className\="org.apache.catalina.session.PersistentManager"\>
<Store className="org.apache.catalina.session.FileStore"
directory="xxx" />
</Manager\>
</Context\>
会话存储位置由 directory 参数控制,默认值为<TOMCAT_HOME>/work/Catalina/localhost/<your-app>
如果 directory 参数提供的值与默认值不同,则不受漏洞影响;
如果 directory 参数没有提供,需添加参数并指定路径, 路径不能为默认值;
如果 directory 参数值与默认值相同,需要修改路径。
(4)以上缓解措施执行完成后需要重启 tomcat 服务生效。
sudo systemctl restart tomcat

2025-03-17