Actualizaciones de seguridad en Apache Tomcat abordan vulnerabilidades de riesgo alto y bajo

Apache Tomcat o también conocido como Tomcat es un contenedor de servlets, utilizado para compilar y ejecutar aplicaciones web realizadas en Java. Implementa y brinda soporte tanto a servlets como a páginas JSP (Java Server Pages). Para más información sobre Apache Tomcat puede visitar el enlace: http://tomcat.apache.org/

¿Qué pasó?

Recientemente, Apache Software Foundation ha informado la corrección de tres vulnerabilidades en Tomcat, las cuales han sido identificadas y catalogadas como: CVE-2020-1938 de riesgo Alto, CVE-2020-1935 y CVE-2019-17569 de riesgo Bajo.

El CVE-2020-1938 se da debido a una validación incorrecta en el conector AJP de Apache Tomcat, el cual por defecto se encuentra escuchando en el puerto 8009 y podría permitir a un atacante remoto no autenticado enviar una solicitud AJP especialmente diseñada, la cual conduciría a la lectura de archivos almacenados en el contenedor (Archivos de configuración, webapps, código fuente, etc.), o si el contenedor permite la carga de archivos, el atacante podría cargar un archivo JSP malicioso, lograr la ejecución remota de código y así comprometer el recurso afectado. Una prueba de concepto (PoC) de esta vulnerabilidad ha sido publicada aquí.

Mientras que los CVE-2020-1935 y CVE-2019-17569 corresponden a una vulnerabilidad conocida como HTTP Request Smuggling , la cual puede ser explotada manipulando el encabezado Content-Length y el encabezado Transfer-Encoding en una sola solicitud HTTP con el fin de por ejemplo: leer archivos del servidor. Esta falla se da porque no se trata de manera correcta las solicitudes que el servidor de Front-End envía al Back-End en ciertos escenarios.

Las versiones que se ven afectadas por los CVE-2020-1938 y CVE-2020-1935, son:

  • Apache Tomcat 6.
  • Apache Tomcat desde 7.0.0 hasta 7.0.99.
  • Apache Tomcat desde 8.0.0 hasta 8.5.50.
  • Apache Tomcat desde 9.0.0 hasta 9.0.30.

Mientas que las versiones afectadas por el CVE-2019-17569 van desde:

  • Apache Tomcat 6.
  • Apache Tomcat 7.0.98 hasta 7.0.99.
  • Apache Tomcat 8.5.48 hasta 8.5.50.
  • Apache Tomcat 9.0.28 hasta 9.0.30.

Recomendaciones:

  • Para los CVE-2020-1938, CVE-2020-1935 y CVE-2019-17569, se deben aplicar los parches que abordan esta vulnerabilidad, de acuerdo la versión utilizada:
    • Tomcat 9 – 9.0.31.
    • Tomcat 8 – 8.5.51.
    • Tomcat 7 – 7.0.100.
    • Apache Tomcat 6, ya no cuenta con soporte del fabricante, por lo tanto no se ha lanzado ningún parche para esta versión. En este caso, se debe considerar la actualización de Apache Tomcat a las versiones 7, 8 o 9.
  • Para el CVE-2020-1938, si por algún motivo no es posible aplicar los parches de seguridad, como solución provisoria se podría:
    • Desactivar el conector AJP, para ello simplemente se debe comentar la línea correspondiente al mismo desde el archivo /conf/server.xml
  • Si el conector AJP está siendo utilizado, configurar el atributo «requieredSecret» el cual es similar a una contraseña.

Referencias:

Compartir: