Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en una URL de archivo de activos en el archivo "AppModule.class" en Apache Tapestry (CVE-2021-27850)

Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-502 Deserialización de datos no confiables
Fecha de publicación:
15/04/2021
Última modificación:
02/06/2021

Descripción

Se encontró una vulnerabilidad crítica de ejecución de código remota no autenticado en todas las versiones recientes de Apache Tapestry. Las versiones afectadas incluyen 5.4.5, 5.5.0, 5.6.2 y 5.7.0. La vulnerabilidad encontrada es un desvío de la solución para CVE-2019-0195. Resumen: versiones anteriores a corrección de CVE-2019-0195, era posible descargar archivos de clases arbitrarios desde la ruta de clases proporcionando una URL de archivo de activos diseñada. Un atacante pudo descargar el archivo "AppModule.class" al requerir la URL "http://localhost:8080/assets/something/services/AppModule.class" que contiene una clave secreta HMAC. La corrección para ese error fue un filtro de lista negra que verifica si la URL termina con ".class"," properties" o ".xml". Omitir: Desafortunadamente, la solución de lista negra puede simplemente ser omitida al agregar un "/` al final de la URL: "http: // localhost:8080/assets/something/services/AppModule.class/". La barra es eliminada después de la comprobación de la lista negra y el archivo` AppModule.class` se carga en la respuesta. Esta clase generalmente contiene la clave secreta HMAC que es usada para firmar objetos Java serializados. Con el conocimiento de esa clave, un atacante puede firmar una cadena de dispositivos Java que conlleva a una RCE (por ejemplo, CommonsBeanUtils1 de ysoserial). Solución para esta vulnerabilidad: *Para Apache Tapestry versiones 5.4.0 hasta 5.6.1, actualice a versiones 5.6.2 o posteriores. *Para Apache Tapestry versión 5.7.0, actualice a versiones 5.7.1 o posteriores

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:apache:tapestry:*:*:*:*:*:*:*:* 5.4.0 (incluyendo) 5.6.2 (excluyendo)
cpe:2.3:a:apache:tapestry:*:*:*:*:*:*:*:* 5.7.0 (incluyendo) 5.7.1 (excluyendo)