CVE-2025-65345 – Recorrido de ruta autenticado desde la función Zip que lleva a la divulgación del sistema de archivos en laravel-file-manager v3.3.1
🧭 Resumen
Una vulnerabilidad de Recorrido de Directorio autenticado en laravel-file-manager v3.3.1 y anteriores permite a atacantes con acceso a la interfaz del administrador de archivos utilizar la función zip/archivado para crear archivos comprimidos que contienen archivos y directorios fuera del alcance previsto debido a una validación de ruta incorrecta.
🧱 Componente Afectado
- Proyecto:
laravel-file-manager
- Componente: función zip/archivado
- Versión afectada: v3.3.1 y anteriores
🎯 Vectores de Ataque
- Cargar o seleccionar una carpeta/archivo dentro de la interfaz gráfica del administrador de archivos.
- Manipular la carga útil de la solicitud ZIP para incluir secuencias de recorrido de directorio como ../../../../../../../../../var/www o el archivo passwd.
- Desencadenar la creación del ZIP, lo que provoca que el backend resuelva recursivamente rutas fuera del directorio de almacenamiento permitido.
- Descargar el ZIP generado, que ahora contiene archivos sensibles de ubicaciones arbitrarias en el servidor.
💥 Impacto
- Divulgación de archivos arbitrarios: Los atacantes pueden recuperar archivos sensibles como configuraciones de entorno (.env), claves SSH, archivos de configuración, archivos de registro y secretos de la aplicación.
- Elevación de privilegios: La divulgación de credenciales sensibles puede ayudar a expandir el acceso más allá de la capa de la aplicación.
- Riesgo de explotación lateral: El acceso a datos a nivel del sistema de archivos puede exponer secretos que permitan acceso a la base de datos, cadenas de ejecución remota de código o compromiso total del servicio.
- https://www.tenable.com/cve/CVE-2025-65345
🛡️ Remedio Recomendado
- Implementar validación de ruta canónica: Normalizar las rutas de archivos solicitadas y aplicar una restricción estricta a la raíz de almacenamiento designada del proyecto.
- Rechazar cualquier ruta que contenga secuencias de recorrido (../, %2e%2e/, recorrido anidado).
- Aplicar lógica de lista blanca del lado del servidor: Solo permitir la creación de ZIP desde directorios conocidos y explícitamente permitidos.
- Actualizar a una versión parcheada una vez que el proveedor publique una corrección que aborde esta debilidad de recorrido de ruta.
🙏 Créditos
Descubierto e informado por: Chindanai Klabtung, Chayawat Jeamprasertboon, Thanakorn Boontem, Theethat Thamwasin