Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-63030 — WordPress Exploit RCE non autorizzato | CVE-2026-63030 | Kitploit
Strumenti/GitHubGitHub/mhtsec/cve-2026-63030
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingSviluppo Payload
GitHubmhtsec/cve-2026-63030

CVE-2026-63030

WordPress Exploit RCE non autorizzato | CVE-2026-63030

Vedi Repository
951 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-63030

WordPress REST API confusione di route batch + SQL injection che porta a creazione di amministratore non autorizzato → esecuzione remota di codice — PoC della catena di sfruttamento completa.

Solo per test di sicurezza autorizzati, riproduzione di vulnerabilità e ricerca. Vietato l'uso su obiettivi non autorizzati.

Panoramica della vulnerabilità

VoceDescrizione
CVECVE-2026-63030
ComponenteWordPress Core REST API (/batch/v1)
Versioni affetteWordPress 6.9.0 – 6.9.4, 7.0.0 – 7.0.1 (fare riferimento all'annuncio ufficiale)
Prerequisito attaccoIl target deve avere REST API batch abilitato; deve esistere almeno un articolo o pagina pubblicati
Requisito autorizzazioniNessun login richiesto (Pre-Auth)
ImpattoCreazione di un account amministratore e possibilità di caricare un plugin per ottenere RCE

Catena di attacco

root@kitploit:~
Confusione di route batch REST
    → SQL injection in author__not_in
    → UNION per falsificare WP_Post / cache oEmbed / changeset Customizer
    → Al momento della pubblicazione del Customizer, passaggio al contesto di un amministratore esistente
    → Creazione di un nuovo amministratore tramite REST /wp/v2/users
    → Caricamento di un plugin monouso nel backend
    → Esecuzione di comandi di sistema

Il punto chiave non è "scrittura in pila", ma:

  1. serve_batch_request_v1() non sincronizza gli indici $matches / $validation tra la fase di convalida e quella di pianificazione, causando una confusione di route.
  2. A causa dello slittamento, la forma stringa di author_exclude viene inserita in author__not_in di WP_Query, concatenata in NOT IN (...), generando un'SQL injection.
  3. Tramite UNION SELECT si falsifica un'intera riga wp_posts, attivando la logica di oEmbed / Customizer e scambiando il contesto utente corrente con un amministratore esistente.
  4. Con i privilegi di amministratore, si invoca l'API REST per la creazione di utenti, scrivendo un nuovo amministratore.
  5. Effettuato il login nel backend, si carica un plugin per eseguire comandi.

Requisiti di ambiente

  • Python 3.10+ (solo librerie standard, nessuna dipendenza di terze parti)
  • L'istanza WordPress target deve essere autorizzata al test
  • Il PHP target deve avere almeno una funzione eseguibile tra (proc_open / passthru / system / shell_exec / exec / popen)
  • Se disable_functions disabilita tutte le funzioni di esecuzione comandi, la creazione dell'amministratore può comunque riuscire, ma la fase RCE fallirà

Struttura dei file

root@kitploit:~
CVE-2026-63030/
├── exp.py        # Script di sfruttamento completo (singolo file, nessuna dipendenza)
└── README.md     # Questo documento

Istruzioni per l'uso

Utilizzo minimo (genera automaticamente amministratore, esegue id di default)

root@kitploit:~
python3 exp.py --url http://192.168.1.10:8080/

Parametri personalizzati completi

root@kitploit:~
python3 exp.py --url http://192.168.199.134:9005/ --username mht --password 'mht666' --email [email protected] --command 'id' --timeout 60

Descrizione dei parametri

Esempio di output previsto

root@kitploit:~
[*] Creating administrator via SQLi -> customizer bridge...
[+] Generated administrator: labadmin
[*] Password: S3cure!pass
[*] Email: [email protected]
[*] Logging in as generated administrator...
[+] Authenticated.
[*] Uploading one-shot command plugin...
[*] Plugin path: http://192.168.1.10:8080/wp-content/plugins/lab_wp2_cmd_xxxxxxxx/lab_wp2_cmd_xxxxxxxx.php
[*] Executing command: id
[+] command output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
[via: proc_open]
[*] Deleting generated administrator...
[+] Generated administrator removed.
[*] Cleaning up temporary plugin...
[+] Temporary plugin removed.

Lo script tenterà al termine di:

  1. Eliminare l'amministratore creato durante l'esecuzione
  2. Rimuovere la directory del plugin temporaneo

Se il processo fallisce a metà, pulire manualmente in base alle credenziali stampate nell'output.

Note importanti

  1. Solo ambienti autorizzati: non utilizzare su sistemi non autorizzati.
  2. Limitazioni sugli obiettivi: lo script rifiuta di default indirizzi IP pubblici letterali; sono accettati solo indirizzi privati / loopback / link-local o target in forma di dominio.
  3. Rafforzamento PHP: se compare has been disabled for security reasons, significa che disable_functions ha disabilitato la funzione corrispondente. Il PoC tenterà diversi metodi di esecuzione; se tutti sono disabilitati, la RCE non sarà disponibile, ma la creazione dell'amministratore potrebbe comunque riuscire.
  4. Contenuto del sito: è necessario almeno un articolo o pagina pubblicati per seminare la cache oEmbed.
  5. Idempotenza e pulizia: ogni esecuzione crea un nuovo amministratore e un plugin temporaneo; in caso di successo la pulizia è automatica; in caso di fallimento, verificare manualmente wp-admin/users.php e wp-content/plugins/.

Raccomandazioni di mitigazione

  • Aggiornare alla versione corretta ufficiale (fare riferimento all'annuncio di sicurezza di WordPress)
  • In assenza di patch, limitare temporaneamente l'accesso non autorizzato a /batch/v1
  • In produzione, mantenere disable_functions e una configurazione dell'utente web con privilegi minimi per ridurre l'impatto di una RCE

Disclaimer

Il codice in questo repository è destinato esclusivamente a scopi di ricerca sulla sicurezza e riproduzione autorizzata di vulnerabilità. L'utente è tenuto a rispettare le leggi locali e l'autorizzazione del sistema target. L'autore non si assume alcuna responsabilità per un uso improprio.

Scarica lo strumento
ParametroObbligatorioValore predefinitoDescrizione
--urlSìNessunoURL root del WordPress target
--usernameNowp2_<hex>Nome utente dell'amministratore da creare
--passwordNoWp2!<random>Password dell'amministratore da creare
--emailNo<username>@wp2shell.invalidEmail dell'amministratore da creare
--command / -cNoidComando da eseguire tramite il plugin monouso
--timeoutNo60Timeout HTTP per singola richiesta (secondi)