漏洞详情
Apache Tomcat是美国阿帕奇(Apache)基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持。
Tomcat 未针对 WebSokcet 进行包长度校验,特制的 WebSocket 请求包将导致处理函数无限循环,最终导致服务停机并拒绝服务
影响版本
10.0.0-M1版本至10.0.0-M6版本
9.0.0.M1版本至9.0.36版本
8.5.0版本至8.5.56版本
7.0.27版本至7.0.104版本
漏洞判定
1.是否在受影响版本范围之内
2.是否存在echo.xhtml
http://IP:端口/examples/websocket/echo.xhtml
漏洞验证
tomcat默认页面,版本匹配
并且存在echo.xhtml页面
漏洞复现
exp下载地址:GitHub - RedTeamPentesting/CVE-2020-13935: Exploit for WebSocket Vulnerability in Apache Tomcat
需要使用go语言进行编译,编译之后会生成一个tcdos.exe
执行攻击
.\tcdos.exe ws://123.58.224.8:42514/examples/websocket/echoStreamAnnotation
漏洞修复
升级到 Apache Tomcat 10.0.0-M7 或更高版本
升级到 Apache Tomcat 9.0.37 或更高版本
升级到 Apache Tomcat 8.5.57 或更高版本