CVE-2025-65346 – Authentifizierter Pfad-Traversal von der UnZip-Funktion, der zu beliebigem Dateischreiben in laravel-file-manager v3.3.1 führt
🧭 Überblick
Eine Path-Traversal-Schwachstelle in der Entpack-/Extrahierfunktion der betroffenen Anwendung ermöglicht es einem Angreifer, während der Archiv-Extraktion Dateien an beliebige Dateisystempfade zu schreiben. Da die Extraktionsroutine die Zielpfade in ZIP-Einträgen nicht bereinigt, kann ein Angreifer ZIP-Archive mit Traversal-Sequenzen (z.B. ../../routes) oder absoluten Pfaden erstellen. Bei der Verarbeitung durch die Anwendung werden diese Dateien direkt an die angegebenen Speicherorte mit den Berechtigungen des laufenden Prozesses extrahiert.
Diese Schwachstelle kann ausgenutzt werden, um vorhandene Dateien zu überschreiben, ausführbare Payloads zu platzieren oder das Anwendungsverhalten zu ändern, was potenziell zu Remote-Code-Ausführung führen kann.
🧱 Betroffene Komponente
- Projekt:
laravel-file-manager
- Komponente: Zip/Archivierungsfunktion
- Betroffene Version: v3.3.1 und niedriger
🎯 Angriffsvektoren
- Der Angreifer lädt ein ZIP-Archiv hoch oder stellt es dem Entpack-Endpunkt der Anwendung zur Verfügung (Authentifizierung kann je nach Konfiguration erforderlich sein oder nicht).
- Manipulieren Sie die UNZIP-Anfragenutzlast, um Verzeichnis-Traversal-Sequenzen wie ../../routes einzufügen.
- Die Backend-Extraktionslogik löst diese Pfade ohne Validierung auf und schreibt Dateien direkt an diese Speicherorte.
- Vorhandene Dateien können bei Namenskollisionen still überschrieben werden.
- Der Angreifer erhält die Fähigkeit, Anwendungsdateien zu ersetzen, Webshells zu schreiben oder kritische Konfigurationsdateien zu ändern.
💥 Auswirkungen
- Beliebiges Dateischreiben: Dateien können überall dort geschrieben werden, wo der Anwendungsbenutzer (z.B. www-data) Schreibrechte hat.
- Dateiüberschreiben: Angreifer können legitime Anwendungsdateien wie Routen, Controller oder Konfigurationen überschreiben.
- Remote-Code-Ausführung: Durch das Schreiben von PHP-, JSP- oder anderen webbasierten ausführbaren Payloads in das Webroot kann der Angreifer vollständige Code-Ausführung erreichen.
- Kompromittierung der Anwendung: Die Änderung von Einstiegspunkten wie index.php kann die Seitenlogik verändern oder persistente Hintertüren einfügen.
- Privilegienerweiterung (indirekt): Das Überschreiben von Konfigurations-/Env-Dateien kann Geheimnisse offenlegen, die eine weitere laterale Bewegung ermöglichen.
Schweregrad: Kritisch
Base Score: 9.1
Vektor: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
🛡️ Empfohlene Abhilfemaßnahmen
- Implementieren Sie eine kanonische Pfadvalidierung: Normalisieren Sie angeforderte Dateipfade und erzwingen Sie eine strikte Einschränkung auf das dafür vorgesehene Speicherstammverzeichnis des Projekts.
- Lehnen Sie jeden Pfad ab, der Traversal-Sequenzen enthält (../, %2e%2e/, verschachteltes Traversal).
- Wenden Sie serverseitige Whitelist-Logik an.
- Aktualisieren Sie auf eine gepatchte Version, sobald der Anbieter einen Fix veröffentlicht, der diese Path-Traversal-Schwäche adressiert.
🙏 Danksagungen
Entdeckt und gemeldet von: Theethat Thamwasin