
wp2shell — PoC della catena RCE pre-autenticazione del core di WordPress per CVE-2026-63030 e CVE-2026-60137
Se apprezzi il mio lavoro, considera di sostenere il progetto tramite USDT (TRC20): TQBA72kakjCZLnJt8fJYcD7dyQCEpzNtVN
wp2shell è un Proof-of-Concept di ricerca sulla sicurezza che dimostra una catena di vulnerabilità pre-autenticazione in WordPress Core combinando:
WP_QueryLa catena dimostra come queste vulnerabilità possano essere combinate per passare da una richiesta REST API non autenticata a un'iniezione SQL, escalation dei privilegi, creazione di un account amministratore e, infine, esecuzione remota di codice autenticata.
[!WARNING]
Solo ricerca sulla sicurezza autorizzata
Questo progetto è destinato a:
- Ricerca di vulnerabilità
- Validazione difensiva
- Test di penetrazione autorizzati
- Laboratori di sicurezza
- CTF e ambienti educativi
Testa solo sistemi di tua proprietà o per i quali disponi di un'esplicita autorizzazione scritta a valutarli.
Non utilizzare questo progetto contro infrastrutture di terze parti senza autorizzazione.
wp2shell è uno strumento unificato di ricerca sulla sicurezza di WordPress Core
per lo studio dell'interazione tra due vulnerabilità:```text
CVE-2026-63030
|
v
REST API Batch Route Confusion
|
v
Validation / Dispatch Confusion
|
v
CVE-2026-60137
|
v
WP_Query SQL Injection
|
v
Blind SQL Access
|
v
Application / Object-State Manipulation
|
v
Privilege Escalation
|
v
Administrator Account Creation
|
v
Authenticated Code Execution
Il PoC è implementato come strumento di ricerca Python e usa la libreria standard di Python senza richiedere pacchetti Python di terze parti.
---
# Catena di vulnerabilità
Il progetto combina due vulnerabilità del core di WordPress.```text
Unauthenticated Request
|
v
+----------------------+
| CVE-2026-63030 |
| REST Batch Route |
| Confusion |
+----------+-----------+
|
v
Validation Confusion
|
v
+----------------------+
| CVE-2026-60137 |
| WP_Query SQLi |
+----------+-----------+
|
v
Blind SQLi
|
v
Application-State Abuse
|
v
Privilege Escalation
|
v
Administrator Access
|
v
Authenticated RCE
```
La proprietà di sicurezza importante è l'interazione tra le due vulnerabilità piuttosto che ciascuna vulnerabilità isolatamente.
---
# CVE-2026-63030
## Confusione del percorso Batch nell'API REST
La prima vulnerabilità riguarda l'elaborazione delle richieste attraverso
l'endpoint Batch dell'API REST di WordPress.
L'implementazione batch mantiene le informazioni di corrispondenza e
validazione delle richieste in strutture parallele indicizzate per posizione
della richiesta.
Una sotto-richiesta malformata può causare la desincronizzazione di tali
strutture.
Ciò crea una condizione di dispatch off-by-one in cui una richiesta successiva
può essere elaborata utilizzando un handler o un contesto di validazione
associato a un'altra richiesta.
Concettualmente:```text
Request A
|
+-- validation entry
+-- matching entry
|
v
Malformed request
|
+-- internal state becomes desynchronized
|
v
Request B
|
+-- unexpected handler / validation context
```
Il PoC esegue controlli comportamentali per determinare se la confusione di route
è effettivamente raggiungibile.
---
# CVE-2026-60137
## WP_Query SQL Injection
La seconda vulnerabilità interessa un percorso di elaborazione SQL di `WP_Query`.
Una volta stabilita la primitiva di confusione di route, l'input controllato
dall'attaccante può raggiungere il percorso di query vulnerabile.
Il PoC dimostra l'iniezione SQL risultante tramite
test differenziali ciechi.
Le funzionalità di ricerca includono:
* Conferma booleana cieca
* Corroborazione opzionale basata sul tempo
* Fingerprinting del database
* Estrazione di scalari supportati
* Ricerca dei dati utente di WordPress
---
# Come Funziona la Catena
## 1. Confusione di Route nel REST Batch
Una richiesta non autenticata raggiunge l'endpoint REST Batch di WordPress.
Una sotto-richiesta batch malformata causa la desincronizzazione dello stato di corrispondenza e convalida
delle richieste interne.
Una richiesta successiva può di conseguenza essere elaborata utilizzando un contesto
non previsto.
---
## 2. SQL Injection
La primitiva di confusione di route fornisce il percorso necessario per la seconda
vulnerabilità.
Un valore controllato dall'attaccante può raggiungere il percorso di elaborazione
vulnerabile di `WP_Query`.
Ciò crea una primitiva di iniezione SQL cieca.
---
## 3. Estrazione SQL Cieca
L'iniezione SQL può essere utilizzata come canale di estrazione booleano cieco.
Il PoC contiene funzionalità per ricercare informazioni sul database e
informazioni supportate sugli utenti WordPress.
---
## 4. Manipolazione dello Stato dell'Applicazione
La catena utilizza risultati controllati dal database per influenzare gli oggetti
applicativi WordPress e l'elaborazione successiva.
Ciò fornisce le primitive necessarie alla fase di elevazione dei privilegi.
---
## 5. Escalation del Changeset
La catena utilizza l'elaborazione dei changeset di WordPress per stabilire un contesto
di esecuzione amministratore.
Un oggetto `customize_changeset` fabbricato può partecipare alla
sequenza di elevazione dei privilegi.
---
## 6. Ri-ingresso negli Hook
La catena rientra nell'elaborazione delle richieste WordPress attraverso il ciclo
di vita delle richieste dell'applicazione.
```