Un defecto de seguridad recientemente revelado que afecta a Apache Tomcat ha sido objeto de una explotación activa en la naturaleza luego de la publicación de una prueba de concepto pública (POC) apenas 30 horas después de la divulgación pública.
La vulnerabilidad, rastreada como CVE-2025-24813afecta las versiones a continuación –
- Apache Tomcat 11.0.0-m1 a 11.0.2
- Apache Tomcat 10.1.0-m1 a 10.1.34
- Apache Tomcat 9.0.0-m1 a 9.0.98
Se refiere a un caso de ejecución de código remoto o divulgación de información cuando se cumplen condiciones específicas –
- Escrituras habilitadas para el servlet predeterminado (deshabilitado de forma predeterminada)
- Soporte para PUT parcial (habilitado por defecto)
- Una URL objetivo para cargas sensibles a la seguridad que es un subdirectorio de una URL objetivo para cargas públicas
- Conocimiento del atacante de los nombres de los archivos sensibles a la seguridad que se están cargando
- Los archivos sensibles a la seguridad también se están cargando a través de PUT parcial
La explotación exitosa podría permitir que un usuario malicioso vea archivos confidenciales de seguridad o inyecte contenido arbitrario en esos archivos mediante una solicitud de put.
Además, un atacante podría lograr una ejecución de código remoto si todas las condiciones siguientes son verdaderas –
- Escrituras habilitadas para el servlet predeterminado (deshabilitado de forma predeterminada)
- Soporte para PUT parcial (habilitado por defecto)
- La aplicación estaba utilizando la persistencia de la sesión basada en archivos de Tomcat con la ubicación de almacenamiento predeterminada
- La aplicación incluyó una biblioteca que puede aprovecharse en un ataque de deserialización
En un aviso publicado la semana pasada, los mantenedores del proyecto dijeron que la vulnerabilidad se ha resuelto en las versiones de Tomcat 9.0.99, 10.1.35 y 11.0.3.
Pero en un giro preocupante, la vulnerabilidad ya está viendo intentos de explotación en la naturaleza, según Wallarm.
«Este ataque aprovecha el mecanismo de persistencia de la sesión predeterminada de Tomcat junto con su apoyo a las solicitudes de PUT parciales», dijo la compañía.
«El exploit funciona en dos pasos: el atacante carga un archivo de sesión de Java serializado a través de la solicitud.
Dicho de manera diferente, los ataques implican enviar una solicitud de put que contiene una carga útil de Java con codificación de Base64 que está escrita en el directorio de almacenamiento de la sesión de Tomcat, que posteriormente se ejecuta durante la deserialización enviando una solicitud Get con el JSessionID apuntando a la sesión maliciosa.
Wallarm también señaló que la vulnerabilidad es trivial a la explotación y no requiere autenticación. El único requisito previo es que Tomcat usa el almacenamiento de sesión basado en archivos.
«Si bien este exploit abusa de almacenamiento de la sesión, el problema más grande es el manejo parcial de poner en Tomcat, lo que permite cargar prácticamente cualquier archivo en cualquier lugar», agregó. «Los atacantes pronto comenzarán a cambiar sus tácticas, cargar archivos JSP maliciosos, modificar configuraciones y plantar puertas traseras fuera del almacenamiento de la sesión».
Se recomienda a los usuarios que ejecutan versiones afectadas de Tomcat que actualicen sus instancias lo antes posible para mitigar las posibles amenazas.