Mastodon Mastodon Mastodon Mastodon

Recorrido de directorios

Actualizado: · CyberSecureFox Editorial Team

El recorrido de directorios (path traversal) es una vulnerabilidad que permite leer o escribir archivos fuera de la carpeta prevista manipulando rutas con secuencias como ../.

Cómo funciona

Las aplicaciones suelen construir rutas de archivo a partir de la entrada del usuario: download?file=report.pdf se convierte en /var/www/files/report.pdf. Si la entrada no se valida, un atacante puede pedir ../../../../etc/passwd o ..\..\windows\win.ini y salir del directorio previsto. Variantes codificadas (%2e%2e%2f), rutas absolutas y archivos comprimidos con nombres manipulados («Zip Slip») esquivan los filtros ingenuos. La debilidad está catalogada como CWE-22.

Por qué es importante

Leer archivos arbitrarios expone configuraciones, código fuente, claves privadas, hashes de contraseñas y datos de sesión. Escribirlos es aún peor: el atacante puede dejar una web shell o sobrescribir la configuración y lograr la ejecución remota de código. Ejemplos destacados:

  • Fortinet FortiOS SSL VPN (CVE-2018-13379): un fallo de path traversal exponía archivos de sesión de la VPN con contraseñas en texto claro; más tarde se publicaron en foros de hackers listas con decenas de miles de equipos afectados.
  • Citrix ADC/NetScaler (CVE-2019-19781): un recorrido de directorios permitía ejecutar código y se explotó de forma masiva a principios de 2020.

Este tipo de fallos aparece con frecuencia en el catálogo Known Exploited Vulnerabilities de CISA, sobre todo en pasarelas VPN, servidores de transferencia de archivos e interfaces de gestión web, donde los exploits públicos llegan poco después de la divulgación.

Cómo prevenirlo

  • No usar la entrada del usuario directamente en rutas; asignar las peticiones a identificadores o a una lista de nombres permitidos.
  • Canonicalizar la ruta y comprobar que no sale del directorio base permitido.
  • Ejecutar los servicios con permisos mínimos sobre el sistema de archivos y aislarlos (contenedores, chroot).
  • Validar las entradas de los archivos comprimidos antes de extraerlos.

El recorrido de directorios está muy relacionado con otras vulnerabilidades de manejo de entradas, como la inyección de código.

Sinónimos:
path traversal, directory traversal, salto de directorio