Apache Tomcat远程代码执行漏洞(CVE-2024-56337)

Apache Tomcat远程代码执行漏洞(CVE-2024-56337)

锋刃科技 2024-12-24 15:05

Apache Tomcat 是一款开源的 Java Servlet 容器和 Web 服务器,广泛用于运行 Java Servlet 和 JavaServer Pages (JSP) 应用程序。Tomcat 是 Apache 软件基金会维护的重要项目之一,支持多种 Java 标准和扩展,且因其高性能和易用性,广泛应用于生产环境中。

01 漏洞描述

漏洞类型:
Apache Tomcat远程代码执行漏洞(CVE-2024-56337)

简述:
CVE-2024-56337 漏洞是由于对 CVE-2024-50379 漏洞的修复不完全,可能导致在某些情况下出现远程代码执行 (RCE)。具体而言,当 Apache Tomcat 在区分大小写的文件系统上运行且默认 Servlet 写入功能开启时(即 readonly 初始化参数设置为非默认值 false),存在潜在的安全风险。

该漏洞为“检查时与使用时”(TOCTOU)竞争条件漏洞,攻击者可以通过并发读取和上传相同文件,在负载高的情况下绕过 Tomcat 的大小写敏感性检查,将上传的文件当作 JSP 文件处理,从而实现远程代码执行。

02漏洞影响范围

Apache Tomcat 11.0.0-M1 至 11.0.1(已在 11.0.2 或更高版本中修复)

Apache Tomcat 10.1.0-M1 至 10.1.33(已在 10.1.34 或更高版本中修复)

Apache Tomcat 9.0.0.M1 至 9.0.97(已在 9.0.98 或更高版本中修复)

03漏洞修复方案

升级 Tomcat 至最新版本:

Apache Tomcat 11.0.2 或更高版本

Apache Tomcat 10.1.34 或更高版本

Apache Tomcat 9.0.98 或更高版本

Java 配置调整:

对于 Java 8 或 Java 11: 显式设置系统属性 sun.io.useCanonCaches 为 false(默认值为 true)。

对于 Java 17: 确保系统属性 sun.io.useCanonCaches 设置为 false,如果之前已设置(默认值为 false)。

对于 Java 21 及更高版本: 无需任何操作,因为该系统属性已被移除。

04 参考链接

https://thehackernews.com/2024/12/apache-tomcat-vulnerability-cve-2024.html

END