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%00enDos detalles del payload:
- Los
../repetidos suben por el árbol hasta la raíz; sobran algunos a propósito (subir de más es inofensivo, quedarse corto no llega). - El
%00(null byte) trunca la cadena en versiones antiguas de Java/ColdFusion, de modo que el sufijoenque la aplicación añade se descarta y el servidor sirve el fichero tal cual.
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
- ArcticHackTheBox