大工网安告[2024]044
一、 情况分析
Apache Tomcat是一个开源的Java Servlet容器和Web服务器,它允许开发者运行JavaServlet、JavaServer Pages(JSP)以及其他基于Java的Web应用程序。Tomcat广泛用于企业级Web应用的开发和部署,因其稳定性和灵活性而受到开发者的青睐。
近日,官方修复Apache Tomcat远程代码执行漏洞(CVE-2024-56337),该漏洞是先前漏洞CVE-2024-50379的不完全修复,两者均为检查时与使用时(TOCTOU)竞争条件漏洞。当Tomcat运行在不区分大小写的文件系统上且默认Servlet写入权限开启(非默认配置)时,攻击者可通过并发读取和上传绕过大小写检查,将上传的文件处理为JSP文件,进而实现代码执行。
威胁类型:代码执行。
技术类型:条件竞争。
利用条件:在Windows系统下启用PUT请求方式,并将readonly初始化参数设置为非默认值false。
危害描述:该漏洞允许攻击者在特定条件下绕过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
三、 处置建议
修复解决方案(含漏洞补丁):
Apache 官方已发布安全通告并发布了修复版本,请尽快下载安全版本修复漏洞:
Apache Tomcat 11.0.2
Apache Tomcat 10.1.34
Apache Tomcat 9.0.98
下载链接:
11 版本:https://tomcat.apache.org/download-11.cgi
10 版本:https://tomcat.apache.org/download-10.cgi
9 版本:https://tomcat.apache.org/download-90.cgi
除了升级之外,根据所使用的Java版本,还需要执行以下操作:
对于 Java 8 或 11,建议将系统属性 "sun.io.useCanonCaches" 设置为 "false"(默认值:true)。
对于 Java 17,请确保 "sun.io.useCanonCaches"(如果设置)配置为 false(默认值:false)。
对于 Java 21 及更高版本,无需配置。该属性和有问题的缓存已被删除。