大工网安告[2024]042
一、 情况分析
Apache Tomcat是一个开源的Java Servlet容器和Web服务器,它允许开发者运行JavaServlet、JavaServer Pages(JSP)以及其他基于Java的Web应用程序。Tomcat广泛用于企业级Web应用的开发和部署,因其稳定性和灵活性而受到开发者的青睐。
近日,官方修复Apache Tomcat远程代码执行漏洞(CVE-2024-50379),该漏洞是由于Tomcat在验证文件路径时存在缺陷,如果readonly参数被设置为false(这是一个非标准配置),并且服务器允许通过PUT方法上传文件,那么攻击者就可以上传含有恶意JSP代码的文件。通过不断地发送请求,攻击者可以利用条件竞争,使得Tomcat解析并执行这些恶意文件,从而实现远程代码执行。目前该漏洞POC已在互联网上公开,鉴于该漏洞影响范围较大,建议大家尽快做好自查及防护。
威胁类型:代码执行。
技术类型:条件竞争。
利用条件:在Windows系统下启用PUT请求方式,并将readonly初始化参数设置为非默认值false。
危害描述:该漏洞允许攻击者在特定条件下绕过Tomcat的大小写检查,上传恶意文件并执行远程代码,可能导致服务器被完全控制,数据泄露或服务中断。
目前,已成功复现Apache Tomcat 远程代码执行漏洞(CVE-2024-50379),截图如下:

二、 影响版本
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
修复缓解措施:
1. 在不影响业务的前提下将conf/web.xml 文件中的readOnly 参数设置为true或直接注释该参数;
2. 禁用PUT方法并重启Tomcat 服务以启用新的配置。