GhostCat: Ya se detectan escaneos en Internet en busca de servidores Apache Tomcat vulnerables

Hace poco se reveló una vulnerabilidad en Apache Tomcat, la cual pasó a ser conocida como GhostCat e identificada bajo el ID CVE-2020-1938, que podría llegar a permitir la ejecución de código remoto sobre un servidor vulnerable.

Ahora, pocos días después de que se hiciese pública la misma, se ha estado observando actividad en la red que parece indicar que los cibercriminales se encuentran interesados en localizar servidores vulnerables que se encuentren expuestos de cara a Internet.

La superficie de ataque

La vulnerabilidad Ghostcat, de tipo file read/include, reside en el Apache JServ Protocol (AJP) presente en Apache Tomcat entre sus versiones 6 y 9. 

VersiónVersiones afectadasVersión que corrige el fallo
Apache Tomcat 9Hasta 9.0.309.0.31
Apache Tomcat 8Hasta 8.5.508.5.51
Apache Tomcat 7Hasta 7.0.997.0.100
Apache Tomcat 6Toda versiónNo la hay ni habrá.
Se encuentra fuera de soporte.

Se encuentran en riesgo todos los servidores Apache Tomcat 6, 7, 8 y 9 que no cuenten con las versiones que resuelven la vulnerabilidad, siempre que también posean el conector AJP habilitado y se encuentren escuchando en el puerto 8009.

 

Para aquellos no puedan actualizar a la brevedad su versión de Apache Tomcat, se recomienda deshabilitar el conector AJP si no se encuentra en uso, o bien configurar el atributo requiredSecret para que se requieran credenciales de autenticación. 

 

Update: Pre-requisitos para la ejecución de código remoto a través de GhostCat

El security researcher João Matos identificó los requisitos necesarios para que un atacante pudiera realizar ejecución de código remoto a través de la explotación de GhostCat.

 

Créditos: João Matos

Sólo para clarificar: CVE-2020-1938 NO es una vulnerabilidad de ejecución de código remoto por defecto. Es una de tipo Local File Inclusion. Asique si puedes:

  1. Subir archivos a través de una APP feature.
  2. Estos archivos son guardados dentro de la raíz de documentos
  3. Alcanzar el puerto AJP de forma directa.

En ese caso, sí puede ser convertido en una ejecución de código remoto.