Details zur Schwachstelle
Apache Tomcat ist ein leichtgewichtiger Webanwendungsserver der Apache Foundation. Das Programm implementiert Unterstützung für Servlet und JavaServer Page (JSP).
Tomcat überprüft die Paketlänge für WebSocket nicht, und ein speziell gestaltetes WebSocket-Anforderungspaket verursacht eine Endlosschleife in der Verarbeitungsfunktion, was schließlich zu Dienstausfallzeiten und Denial-of-Service führt
Betroffene Version
Version 10.0.0-M1 bis Version 10.0.0-M6
Version 9.0.0.M1 bis Version 9.0.36
Version 8.5.0 bis Version 8.5.56
Version 7.0.27 bis Version 7.0.104
Schwachstellenbestimmung
1. Ob es in den Anwendungsbereich der betroffenen Version fällt
2. Ob echo.xhtml existiert
http://IP:port/examples/websocket/echo.xhtml
Verifizierung der Schwachstelle
Tomcat-Standardseite, Versionsabgleich
und die Seite echo.xhtml existiert
Wiederholung der Schwachstelle
Exp-Download-Adresse: GitHub – RedTeamPentesting/CVE-2020-13935: Exploit for WebSocket Vulnerability in Apache Tomcat
Zum Kompilieren muss die Go-Sprache verwendet werden. Nach dem Kompilieren wird eine tcdos.exe generiert
den Angriff ausführen
.\tcdos.exe ws://123.58.224.8:42514/examples/websocket/echoStreamAnnotation
Fehlerbehebung
Aktualisieren Sie auf Apache Tomcat 10.0.0-M7 oder höher
Aktualisieren Sie auf Apache Tomcat 9.0.37 oder höher
Aktualisieren Sie auf Apache Tomcat 8.5.57 oder höher