Se ha descubierto una vulnerabilidad en el servicio Apache
Tomcat que permite tomar el control de los servidores que utilizan el servicio
sin autorización.
El fallo permite la lectura de ficheros arbitrarios en el
servidor a un usuario no autentificado, de esta manera se podrían leer ficheros
de configuración o el código de la aplicación hospedada en el servidor web.
Incluso en el caso de existir un cargador de archivos en la web, sería posible
ejecutar código remoto, Henry Chen mostró una pequeña demo en su Twitter de cómo
funciona.
El fallo se encuentra en el protocolo Apache JServ Protocol
(AJP) y surge de la manipulación inadecuada de uno de sus atributos. Este
protocolo viene habilitado por defecto en el puerto TCP 8009, vinculado a la
dirección 0.0.0.0.
Si el sitio web permite a un usuario subir archivos al
servidor, se podría subir primero un archivo con el código del payload en JSP y
luego incluir el archivo subido explotando Ghostcat, que finalmente resultaría
en la ejecución remota de código. El archivo cargado en sí puede incluirse bajo
cualquier extensión, tanto de imágenes, como archivos de texto plano, etc.
Es muy importante actualizar lo antes posible a la última
versión ya que su explotación es trivial, ya que hay publicadas varias PoC (1,
2, 3, 4 y muchas más que van apareciendo). Es posible que actualmente esté
siendo explotado en Internet.