影响组件:
Apache Tomcat是一个开源的Java Servlet容器,广泛用于运行Java Web应用程序。它实现了Java Servlet和JavaServer Pages (JSP) 技术,提供了一个运行环境来处理HTTP请求、生成动态网页,并支持WebSocket通信。Tomcat以其稳定性、灵活性和易用性而受到开发者的青睐,是开发和部署Java Web应用的重要工具之一。
影响范围:
该漏洞源于Tomcat在验证文件路径时的缺陷。如果readonly参数被设置为false(非默认),且服务器允许通过PUT方法上传文件,攻击者就可以上传包含恶意JSP代码的文件。通过持续发送请求,攻击者可以利用条件竞争,使Tomcat解析并执行这些恶意文件,从而实现远程代码执行。目前该漏洞的POC(概念验证)已在互联网上公开。建议尽快进行自查。
影响版本:
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
补充:(需系统为Windows)或其它对大小写不敏感的操作系统
漏洞排查:
检查Tomcat容器配置文件,conf/web.xml文件中,是否配置readOnly参数(非默认),如为false则代表可能存在安全风险。
临时缓解措施:
1. 在不影响业务的前提下将 conf/web.xml文件中的 readOnly 参数设置为 true 或直接注释该参数;
2. 禁用 PUT 方法并重启 Tomcat 服务以启用新的配置;
3. 建议升级至安全版本及其之后。