3 nov. 2020

Vulnerabilidad DoS en WebSocket en Apache Tomcat

Apache Tomcat es un servidor de aplicaciones Java que se usa comúnmente con aplicaciones web, que a menudo encontramos en las pruebas de penetración. Esta vulnerabilidad, corregida en julio pasado, corresponde a denegación de servicio que aparece junto con WebSockets y se le ha asignado CVE-2020-13935.

Esta vulnerabilidad solo se puede aprovechar en determinados escenarios y la actualización del servidor de aplicaciones web puede resultar costosa. Por lo tanto, es esencial tener información concisa para tomar una decisión informada sobre si la vulnerabilidad afecta a un producto determinado y si una actualización vale la pena.

Las notas de la versión de Apache Tomcat 9.0.37 muestran que se encontró una vulnerabilidad y se corrigió en julio de 2020, indicando lo siguiente: "La longitud del payload en WebSocket no se validaba correctamente. Las longitudes de carga útil no válidas podrían desencadenar un bucle infinito".

Entonces, varias solicitudes con longitudes inválidas podrían  provocar una denegación de servicio.

Esta información es bastante vaga, lo que da lugar a las siguientes preguntas:
  • ¿Qué constituye una longitud de carga útil no válida?
  • ¿Qué tipo de denegación de servicio ocurre?
  • ¿CPU o agotamiento de la memoria?
  • ¿Quizás incluso un accidente?
  • ¿En qué circunstancias son vulnerables las aplicaciones? 
  • ¿Cuándo analiza Apache Tomcat los mensajes de WebSocket?
  • ¿Qué inversión deben realizar los atacantes?
  • ¿La explotación requiere una gran cantidad de ancho de banda o potencia informática?
  • ¿Existen posibles soluciones para los casos en los que una actualización no es factible?
Según la descripción de la vulnerabilidad, las siguientes versiones de Apache Tomcat se ven afectadas:
  • 10.0.0-M1 a 10.0.0-M6
  • 9.0.0.M1 a 9.0.36 8.5.0 hasta
  • 8.5.56 7.0.27 hasta 7.0.104

El código del exploit se encuentra disponible: github.com/RedTeamPentesting/CVE-2020-13935.

Si es posible, actualice su servidor Apache Tomcat a la versión actual. Sin embargo, puede haber casos en los que la actualización no sea factible o muy costosa. En este caso, se debe evaluar si su producto es vulnerable porque, como se explicó anteriormente, el error solo se puede activarse en los puntos finales de WebSockets. Por lo tanto, deshabilitar o restringir el acceso a esos puntos finales mitigará el problema. Tenga en cuenta que el directorio de ejemplo integrado también contiene puntos finales que manejan WebSockets.

Fuente: RedTeam

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!