CVE-2025-65345 – Traversée de chemin authentifiée depuis la fonction Zip menant à la divulgation du système de fichiers dans laravel-file-manager v3.3.1
🧭 Aperçu
Une vulnérabilité de traversée de répertoire authentifiée dans laravel-file-manager v3.3.1 et versions antérieures permet à des attaquants ayant accès à l'interface du gestionnaire de fichiers d'utiliser la fonction zip/archivage pour créer des archives contenant des fichiers et dossiers en dehors du périmètre prévu en raison d'une validation de chemin inadéquate.
🧱 Composant affecté
- Projet :
laravel-file-manager
- Composant : fonction zip/archivage
- Version affectée : v3.3.1 et versions antérieures
🎯 Vecteurs d'attaque
- Télécharger ou sélectionner un dossier/fichier dans l'interface graphique du gestionnaire de fichiers.
- Manipuler la charge utile de la requête ZIP pour inclure des séquences de traversée de répertoire telles que ../../../../../../../../../var/www ou le fichier passwd
- Déclencher la création du ZIP, amenant le backend à résoudre récursivement des chemins en dehors du répertoire de stockage autorisé.
- Télécharger le ZIP généré, qui contient désormais des fichiers sensibles provenant d'emplacements arbitraires sur le serveur.
💥 Impact
- Divulgation arbitraire de fichiers : Les attaquants peuvent récupérer des fichiers sensibles tels que les configurations d'environnement (.env), les clés SSH, les fichiers de configuration, les fichiers journaux et les secrets d'application.
- Élévation de privilèges : La divulgation d'informations d'identification sensibles peut aider à étendre l'accès au-delà de la couche applicative.
- Risque d'exploitation latérale : L'accès aux données au niveau du système de fichiers peut exposer des secrets permettant l'accès à la base de données, des chaînes d'exécution de code à distance (RCE) ou une compromission complète du service.
- https://www.tenable.com/cve/CVE-2025-65345
🛡️ Correction recommandée
- Mettre en œuvre une validation canonical des chemins : Normaliser les chemins de fichiers demandés et appliquer une restriction stricte à la racine de stockage désignée du projet.
- Rejeter tout chemin contenant des séquences de traversée (../, %2e%2e/, traversée imbriquée).
- Appliquer une logique de liste blanche côté serveur : Autoriser la création de ZIP uniquement à partir de répertoires connus et explicitement autorisés.
- Mettre à jour vers une version corrigée dès que l'éditeur publie un correctif pour cette faiblesse de traversée de chemin.
🙏 Crédits
Découvert et signalé par : Chindanai Klabtung, Chayawat Jeamprasertboon, Thanakorn Boontem, Theethat Thamwasin