EXPLOIT-CVE-2026-8832

Ein Exploitation-Tool zum Testen auf Remote Code Execution (RCE)-Schwachstellen im WordPress-Plugin WPCode Lite (Insert Headers and Footers) v2.3.5. Diese Schwachstelle entsteht durch die Registrierung des Custom Post Type (CPT) wpcode ohne Definition eines benutzerdefinierten capability_type. Dieses Versehen erlaubt es jedem Benutzer mit der Rolle Autor (oder höher), beliebigen PHP-Code über XML-RPC auf dem Server auszuführen.
Credit: Erstellt auf der Grundlage der Schwachstellenanalyse von t.me/Fanatix_Legion.
⚠️ Disclaimer
NUR FÜR AUTORISIERTE SICHERHEITSTESTS.
Die unbefugte Verwendung dieses Tools gegen Systeme, die Ihnen nicht gehören, ist ILLEGAL. Verwenden Sie dies ausschließlich auf Systemen, für die Sie eine ausdrückliche, schriftliche Genehmigung zur Durchführung von Penetrationstests haben. Der Autor übernimmt keine Haftung und ist nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Programm verursacht werden.
🚀 Funktionen
- Automatisierte Ausnutzung: Führt die vollständige Exploit-Kette vom Fingerprinting bis zur Codeausführung in 6 automatisierten Schritten aus.
- XML-RPC-Bypass: Nutzt den
wp.newPost-Endpunkt über XML-RPC aus, um die administrativen Schutzmechanismen der Plugin-Oberfläche zu umgehen.
- Reine PHP-Payloads: Alle integrierten Payloads werden mit reinen nativen PHP-Funktionen entwickelt. Dies ist speziell darauf ausgelegt,
disable_functions-Einschränkungen zu umgehen, die häufig in Shared-Hosting-Umgebungen (wie CloudLinux) vorkommen, in denen Funktionen wie shell_exec und system blockiert sind.
- Webbasierte interaktive Shell: Enthält eine Web-GUI-Payload-Option, um PHP-Befehle bequem über einen Browser zu navigieren und auszuführen.
- Automatische Bereinigung: Räumt die Datenbank sicher auf, indem Testsnippets und Trigger-Beiträge nach der Ausführung entfernt werden.
📦 Anforderungen
- Python 3.6+
requests-Bibliothek
🛠️ Verwendung
Führen Sie das Skript über Ihr Terminal bzw. Ihre Eingabeaufforderung aus:
python wpcode_rce_tester.py
Das Tool fragt Sie interaktiv nach Folgendem ab:
- WordPress-URL: Die Ziel-URL (z. B.
http://localhost).
- Benutzername: Ein Benutzername eines Benutzerkontos mit mindestens Autor-Rechten.
- Passwort: Das Passwort für das Konto.
- Payload: Die Payload-Auswahl, die Sie ausführen möchten (wählen Sie 1-8).
Verfügbare Payloads
- Systeminformationen: Zeigt den aktuellen Benutzer (
get_current_user) und Betriebssysteminformationen (php_uname) an.
- Interaktive PHP-Shell über GET: Führt Konsoleneingaben als PHP-Code aus (über den Parameter
?cmd=).
- PHP-Info: Führt
phpinfo() aus.
- WordPress-Config-Reader: Liest interne WordPress-Konstanten wie Datenbankzugangsdaten.
- Dateiliste: Listet rekursiv Dateien und Ordner in
DOCUMENT_ROOT nativ mit scandir() auf.
- Webbasierte interaktive PHP-Shell: Erstellt ein einfaches HTML-POST-Formular, um PHP-Code interaktiv im Browser einzugeben und auszuführen; sehr effektiv, wenn die Ausführung auf Betriebssystemebene blockiert ist.
- Proof of Concept: Gibt einfach „RCE VERIFIED“ aus, ohne sensible Daten zu lesen oder das System zu schädigen.
- Eigene Payload: Geben Sie eigenen rohen PHP-Code zur Ausführung ein.
🛡️ Behebung
Um Ihre WordPress-Website abzusichern:
- Aktualisieren Sie das WPCode Lite-Plugin sofort auf die neueste Version.
- Falls ein Update nicht möglich ist, deaktivieren Sie XML-RPC vollständig, wenn es nicht verwendet wird, indem Sie Folgendes in ein Plugin oder mu-plugins einfügen:
add_filter('xmlrpc_enabled', '__return_false');