Apache Tomcat 高危远程代码执行漏洞(CVE-2024-56337)
Apache Tomcat 高危远程代码执行漏洞(CVE-2024-56337)
云梦DC 云梦安全 2024-12-23 00:39
一、漏洞概述
漏洞名称
:Apache Tomcat 远程代码执行漏洞CVE 编号
:CVE-2024-56337漏洞类型
:TOCTOU(时间差竞争条件)发现时间
:2024年12月21日风险评分
:9.8(高危)利用条件
:无权限限制,网络可达公开状态
:PoC/EXP 已公开,在野利用尚未发现
漏洞背景
:
Apache Tomcat 是广泛使用的开源 Web 服务器和 Java Servlet 容器。在此次披露的漏洞中,安全研究人员指出,该问题源于对早期漏洞(CVE-2024-50379)的缓解措施不完整。如果 Apache Tomcat 在特定配置下运行,攻击者可能利用该漏洞通过写入恶意文件,实现远程代码执行。
触发条件
:
1. Tomcat 默认 servlet 的readonly
初始化参数设置为false
(启用写权限)。
-
Java 系统属性sun.io.useCanonCaches
设置为true
(Java 8 和 Java 11 默认为 true,Java 17 默认 false,Java 21 及以上版本不受影响)。 -
Tomcat 运行在区分大小写的文件系统上(如 Windows 或某些 Linux 文件系统)。
当满足以上条件时,攻击者可通过发送特制请求,将恶意文件写入服务器,并最终实现远程控制。
二、影响版本
以下 Apache Tomcat 版本受到漏洞影响:
– Apache Tomcat 11.0.0-M1 至 11.0.1
-
Apache Tomcat 10.1.0-M1 至 10.1.33
-
Apache Tomcat 9.0.0-M1 至 9.0.97
三、如何修复漏洞
为避免该漏洞带来的风险,建议受影响的用户尽快采取以下措施:
1. 升级 Apache Tomcat
官方已发布修复版本,用户应及时升级至以下版本:
– Apache Tomcat 11.0.2 及以上
-
Apache Tomcat 10.1.34 及以上
-
Apache Tomcat 9.0.98 及以上
下载链接
:
Apache Tomcat 官网
2. 临时缓解措施
如无法立即升级,可通过以下方法进行临时缓解:
– Java 8/Java 11
:显式设置系统属性sun.io.useCanonCaches
为false
(默认值为 true)。
-
Java 17
:如该属性被设置,需确保其值为false
(默认值为 false)。 -
Java 21 及以上版本
:无需进一步配置(该属性已被移除)。
设置方法示例
:
在启动 Tomcat 的 JVM 参数中添加以下配置:
-Dsun.io.useCanonCaches=false
3. 通用安全建议
-
定期更新服务器和依赖软件的安全补丁,避免已知漏洞被利用。
-
强化网络和系统访问控制,关闭不必要的端口和服务。
-
采用多因素认证及最小权限原则,限制用户和应用的权限。
-
设置强密码策略,并定期修改密码。
四、参考资料
- Apache 官方漏洞通告
- CVE-2024-56337 的 NVD 页面
- CVE-2024-50379 修复讨论