Investigadores de Chaitin Tech, en China dieron a conocer información sobre una nueva vulnerabilidad bautizada como GhostCat en el popular contenedor de servlets (Java Servlet, JavaServer Pages, Java Expression Language y Java WebSocket) Apache Tomcat (ya catalogada como CVE-2020-1938).
Ghostcat tiene un nivel de gravedad crítico (9.8 CVSS). La falla permite en la configuración predeterminada enviar una solicitud a través del puerto de red 8009 para leer el contenido de cualquier archivo del directorio de la aplicación web, incluidos los archivos de configuración y los códigos fuente de la aplicación.
Todas las versiones afectadas (9.x / 8.x / 7.x / 6.x) de Apache Tomcat que se han lanzado en los últimos 13 años.
Apache Tomcat AJP Vulnerability (CNVD-2020-10487/CVE-2020-1938 ) .This vulnerability was discovered by a security researcher of Chaitin Tech .
— Henry Chen (@chybeta) February 20, 2020
You can read any webapps files or include a file to RCE .JUST A POC-GIF with no DETAILS
Tomcat has fix this vulnerability ,UPDATE! pic.twitter.com/Jauc5zPF3a
La vulnerabilidad también permite importar otros archivos en el código de la aplicación, lo que permite organizar la ejecución del código en el servidor si la aplicación permite que los archivos se carguen en el servidor.
La aplicación del sitio web permite a los usuarios cargar archivos, un atacante puede cargar primero un archivo que contenga código JSP malicioso en el servidor (el archivo cargado en sí mismo puede ser cualquier tipo de archivo, como imágenes, archivos de texto plano, etc.) y luego incluya el archivo cargado explotando la vulnerabilidad de Ghostcat, que finalmente puede resultar en la ejecución remota de código.
Además del propio Tomcat, el problema también afecta a los productos que lo utilizan, como Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), así como a aplicaciones web autónomas que utilizan Spring Boot.
Apache Tomcat ha lanzado oficialmente las versiones 9.0.31, 8.5.51 y 7.0.100 para corregir esta vulnerabilidad. Para corregir esta vulnerabilidad correctamente, primero se debe determinar si el servicio Tomcat AJP Connector se usa en su entorno de servidor:
- Si no se usa clúster o proxy inverso, básicamente se puede determinar que no se usa AJP.
- De lo contrario, se debe averiguar si el clúster o el servidor inverso se está comunicando con el servicio Tomcat AJP Connect
Tambien se menciona que ya estan disponibles las actualizaciones en las diferentes distribuciones de Linux como: Debian, Ubuntu, RHEL, Fedora, SUSE.
Los descubridores de la vulnerabilidad han publicado a disposición de todos herramientas para detectar la vulnerabilidad en nuestros servidores en un repositorio en GitHub para diferentes plataformas. Y también su código fuente.
Features:
- 添加
servicescan
命令,支持 Tomcat AJP 协议任意文件读取漏洞(幽灵猫漏洞 https://www.chaitin.cn/zh/ghostcat)- 使用示例
./xray servicescan --target 127.0.0.1:8009
- 批量检测
./xray servicescan --target-file example.txt
- 使用示例
Tenable, la conocida empresa del software de ciberseguridad Nessus, dio a conocer varias pruebas de concepto en GitHub
https://github.com/laolisafe/CVE-2020-1938
https://github.com/xindongzhuaizhuai/CVE-2020-1938
https://github.com/0nise/CVE-2020-1938
https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
https://github.com/nibiwodong/CNVD-2020-10487-Tomcat-ajp-POC