CVE-2025-56399 – Authentifizierte Remote-Codeausführung in laravel-file-manager v3.3.1
🧭 Überblick
Eine Schwachstelle zur authentifizierten Remote-Codeausführung (RCE) in laravel-file-manager v3.3.1 und früheren Versionen ermöglicht es Angreifern mit Zugriff auf die Dateimanager-Oberfläche, beliebigen Code auf dem Server auszuführen. Durch das Hochladen einer Datei mit einer erlaubten Nicht-PHP-Erweiterung (z. B. .png, .pdf), die bösartigen PHP-Code enthält, und das Umbenennen in eine .php-Erweiterung oder durch direktes Erstellen und Bearbeiten einer .php-Datei können Angreifer RCE erzielen, wenn auf die Datei über eine öffentliche URL zugegriffen wird.
🧱 Betroffene Komponente
- Projekt:
laravel-file-manager
- Komponente: Datei-Upload-/Umbenennungs-API
- Betroffene Version: v3.3.1 und früher
🎯 Angriffsvektoren
- Authentifizieren Sie sich mit einem Konto, das Zugriff auf die Upload- oder Dateierstellungsfunktion des Dateimanagers hat.
- Laden Sie eine Datei (z. B. shell.png) mit bösartigem PHP-Code (z. B. ) über die Upload-Oberfläche oder API des Dateimanagers hoch.
- Nutzen Sie die Umbenennungs-API oder -Oberfläche, um die Dateierweiterung von shell.png in shell.php zu ändern.
- Greifen Sie über eine öffentliche URL (z. B. https://server-ip-address/storage/shell.php?c=id) auf die Datei zu, um die PHP-Nutzlast auszuführen.
- Alternativ können Sie die Funktion „Datei erstellen“ verwenden, um eine Datei (z. B. shell.php) zu erstellen, dann über die Bearbeitungsfunktion bösartigen PHP-Code einzufügen und über eine öffentliche URL darauf zuzugreifen.
💥 Auswirkungen
- Remote-Codeausführung (RCE): Angreifer können beliebige Befehle im Kontext des Webservers ausführen.
- Kompromittierung des Systems: Abhängig von der Serverkonfiguration kann dies zur vollständigen Kompromittierung der Webanwendung und des Hostsystems führen.
- Kritisches Risiko: Hohe Auswirkungen auf Vertraulichkeit, Integrität und Verfügbarkeit des betroffenen Systems.
CVSS v3
Basiswert: 8.8
Vektor: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Schweregrad: Hoch
🛡️ Empfohlene Behebung
- Implementieren Sie eine serverseitige Validierung der Datei-MIME-Typen und Magic Bytes, um sicherzustellen, dass hochgeladene Dateien zu ihren Erweiterungen passen.
- Erzwingen Sie eine strikte Whitelist der erlaubten Dateierweiterungen und lehnen Sie ausführbare Erweiterungen wie .php ab.
- Schränken Sie das Umbenennen von Dateien ein, um Änderungen auf ausführbare Erweiterungen ohne zusätzliche Validierung zu verhindern.
- Deaktivieren Sie die Skript-/PHP-Ausführung in Upload-Verzeichnissen.
🙏 Danksagungen
Entdeckt und gemeldet von: Chayawat Jeamprasertboon, Thanakorn Boontem, Theethat Thamwasin