the_open_door
café
ESEN
← Volver al índice

ColdFusion directory traversal (CVE-2010-2861)

CVE-2010-2861 es una vulnerabilidad de directory traversal en Adobe ColdFusion (versiones 8 y 9, sin el parche correspondiente). Afecta a varias páginas del administrador que aceptan un parámetro locale sin sanear, entre ellas CFIDE/administrator/enter.cfm. Manipulando ese parámetro se puede salir del directorio previsto y leer ficheros arbitrarios del servidor, sin autenticación.

El objetivo típico es password.properties, el fichero donde ColdFusion guarda el hash de la contraseña del panel de administración:

http://<ip>:8500/CFIDE/administrator/enter.cfm?locale=../../../../../../../../../../ColdFusion8/lib/password.properties%00en

Dos detalles del payload:

Lo que se obtiene es el hash de administrador, normalmente un SHA1 sin sal. A partir de ahí, si la contraseña es débil, una rainbow table o un diccionario la recuperan en claro y dan acceso al panel, desde donde se suele lograr ejecución de código (por ejemplo, con una tarea programada que escribe un .jsp).

Por qué pasa. Es el patrón clásico de path traversal: entrada controlada por el usuario que acaba en una ruta de fichero sin validar que permanezca dentro del directorio permitido. El null byte añade el problema de una capa que interpreta \0 como fin de cadena.

Cómo detectarlo. En el log de acceso aparecen peticiones no autenticadas a CFIDE/administrator/enter.cfm (y otras páginas del panel) con el parámetro locale=../ repetido, rutas absolutas conocidas (password.properties, ColdFusion8/lib/) y el sufijo %00 (null byte), combinación que ningún uso legítimo del panel produce. Un mismo origen probando distintas profundidades de ../ o leyendo password.properties es la firma, y cualquier WAF marca el traversal codificado. La lectura del fichero de hash del administrador seguida de un login en el panel cierra la cadena.

Defensa. Aplicar los parches de Adobe (el hotfix de 2010), restringir el acceso al CFIDE/administrator por red y, en general, canonicalizar y validar cualquier ruta construida con entrada del usuario. Relacionado con la inclusión de ficheros y path traversal y con el endurecimiento de paneles administrativos expuestos.

Máquinas donde se aplica