Path Traversal / Local File Inclusion
Erlaubt Angreifern, beliebige Dateien vom Server zu lesen.
Was ist diese Schwachstelle?
Path Traversal (auch Directory Traversal oder Local File Inclusion / LFI) ist eine Schwachstelle, die es Angreifern ermöglicht, auf Dateien außerhalb des vorgesehenen Verzeichnisses zuzugreifen, indem Dateipfad-Referenzen manipuliert werden. Mit Sequenzen wie ../ (Punkt-Punkt-Schrägstrich) können Angreifer den Verzeichnisbaum nach oben navigieren, um sensible Systemdateien, Konfigurationsdateien und Quellcode zu lesen.
Wie nutzt ein Angreifer dies aus?
Angreifer nutzen Path Traversal, indem sie Dateiparameter in URLs oder Formularen manipulieren. Zum Beispiel wird ?file=report.pdf zu ?file=../../../wp-config.php geändert. Sie verwenden Encoding-Tricks zur Umgehung von Filtern: URL-Encoding (..%2F..%2F), doppeltes Encoding (..%252F), Null-Bytes (file.php%00.jpg) und Unicode-Darstellungen. In WordPress-Plugins sind häufige Ziele Template-Loader, Datei-Download-Endpunkte und Log-Viewer, die Dateinamen-Parameter akzeptieren.
Mögliche Konsequenzen
- Lesen der wp-config.php mit Datenbankzugangsdaten und geheimen Schlüsseln
- Zugriff auf /etc/passwd zur Aufzählung von Systembenutzern
- Lesen von Plugin- und Theme-Quellcode zur Suche nach weiteren Schwachstellen
- Zugriff auf Logdateien mit sensiblen Informationen
- Lesen von SSH-Schlüsseln oder anderen Zugangsdaten-Dateien
- In schweren Fällen (LFI) Einbinden und Ausführen von PHP-Dateien für Remote Code Execution
Wie schützen Sie sich
- Niemals Benutzereingaben direkt in Dateipfad-Operationen verwenden
- basename() verwenden, um Verzeichniskomponenten aus benutzergelieferten Dateinamen zu entfernen
- Eine Whitelist erlaubter Dateien pflegen, anstatt zu versuchen, bösartige Eingaben zu blockieren
- realpath() verwenden, um den Pfad aufzulösen und zu prüfen, ob er im erlaubten Verzeichnis bleibt
- open_basedir in PHP konfigurieren, um den Dateizugriff auf das Web-Root zu beschränken
- Ordnungsgemäße Dateiberechtigungen setzen, damit der Webserver keine sensiblen Dateien lesen kann
Wie finden Angreifer diese Schwachstelle?
Angreifer testen, indem sie Path-Traversal-Sequenzen (../, ....//,..%2F) in jeden Parameter einschleusen, der auf Dateien verweist. Sie zielen auf Datei-Download-Endpunkte, Template-Inclusion-Funktionen und Log-Viewer-Features. Automatisierte Scanner testen gängige Payloads gegen bekannte Plugin-Endpunkte. Sie überprüfen den Erfolg, indem sie nach bekannten Dateiinhalten suchen (z.B. den String "DB_PASSWORD" aus wp-config.php oder "root:x:" aus /etc/passwd).
Beispiel-CVEs aus unserer Datenbank
The WP Fastest Cache plugin for WordPress is vulnerable to Local File Inclusion in versions up to, and including, 0.8.5.9 via the id POST parameter. This allows authenticated attackers to include and execute arbitrary files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where images and other “safe” file types can be uploaded and included. This is due to an impartial fix of https://ti.wordfence.io/vulnerabilities/3ebe25a7-fa4d-4e3f-b969-2ff3a8388b06.
The NextGen Gallery plugin for WordPress is vulnerable to Path Traversal in versions up to, and including, 2.1.7 via the browse_folder AJAX action and the 'dir' parameter. This allows authenticated attackers to read the contents of arbitrary files on the server, which can contain sensitive information.
The ARMember plugin for WordPress is vulnerable to Directory Traversal in all versions up to, and including, 4.0.27 via the 'X-FILENAME' HTTP header. This makes it possible for unauthenticated attackers to upload and overwrite certain files (e.g., CSS) to directories outside the 'wp-content/uploads/armember' directory.
The Ultimate Member plugin for WordPress is vulnerable to Local File Inclusion in versions up to, and including, 1.3.64 via the 'page' parameter. This allows unauthenticated attackers to include and execute arbitrary files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where images and other “safe” file types can be uploaded and included.
The NextGen Gallery plugin for WordPress is vulnerable to Path Traversal in versions up to, and including, 2.0 via the 'dir' parameter. This allows attackers to read the contents of arbitrary files on the server, which can contain sensitive information.
... und 599 weitere in unserer Datenbank
Typische Auswirkung
Offenlegung von wp-config.php, Datenbankzugangsdaten, Quellcode, Systemdateien.
Empfohlene Maßnahme
the affected plugin sofort aktualisieren. Eingabevalidierung für Dateipfad-Parameter implementieren.
Ist Ihre WordPress-Seite von dieser Art von Schwachstelle betroffen?
Jetzt Ihre Seite scannen