
Controllo di esposizione non intrusivo per la catena RCE pre-autenticazione di WordPress wp2shell (CVE-2026-63030 / CVE-2026-60137).
Verificatore di esposizione non intrusivo per la catena RCE pre-autenticazione "wp2shell" di WordPress (CVE-2026-63030 + CVE-2026-60137).
⚠️ Solo uso autorizzato. Esegui questo strumento solo su istanze WordPress di tua proprietà o per le quali hai esplicita autorizzazione al test. È un ausilio di triage, non un exploit. Scansionare sistemi senza permesso può essere illegale.
Dato un URL, wp2shell-check:
generator nella home page (passivo).?rest_route=/batch/v1) per verificare se la route REST batch è raggiungibile.È progettato per un triage rapido su flotte di siti: quali dei miei siti sono su una versione interessata con REST raggiungibile?
Due difetti concatenati del core di WordPress, divulgati con un rilascio d'emergenza il 2026-07-17:
| CVE | Tipo | Versioni interessate |
|---|---|---|
| CVE-2026-63030 | Confusione route batch API REST (abilitatore RCE) | 6.9.0–6.9.4, 7.0.0–7.0.1 |
| CVE-2026-60137 | SQL injection WP_Query author__not_in | 6.8.0 e successive (6.8.0–6.8.5 = fascia solo SQLi) |
Concatenati, consentono a un attaccante non autenticato di raggiungere l'SQL injection ed escalare a remote code execution su un'installazione predefinita — niente plugin, niente login. La parte RCE si applica solo quando non è in uso una cache di oggetti persistente.
Corretto in: 6.8.6 (solo SQLi), 6.9.5, 7.0.2 (e 7.1 Beta 2+). WordPress ha abilitato aggiornamenti automatici forzati per i siti interessati: verifica che l'aggiornamento sia realmente arrivato.
Segnalata da Adam Kues (Assetnote / Searchlight Cyber) tramite il programma HackerOne di WordPress.
Richiede Python 3.9+ e requests.
# with uv
uv pip install requests
# or plain pip
pip install requests
python wp2shell.py https://target.example
Esempio di output:
https://target.example: VULNERABLE (RCE) [6.9.3]
generator è spesso rimosso o falsificato; una versione mancante produce wordpress not detected, non una garanzia che il sito sia sicuro o non WordPress./wp-json/batch/v1 e ?rest_route=/batch/v1 sul tuo WAF, oppure limita l'accesso anonimo alla REST API.Fornito così com'è, solo per test di sicurezza autorizzati e scopi educativi. Sei l'unico responsabile dell'uso che ne fai.
| Verdetto | Significato |
|---|
VULNERABLE (RCE) / VULNERABLE (SQLi) | Versione interessata e route REST batch raggiungibile → esposta su un'installazione predefinita. Vedi Limitazioni. |
version-affected (...), route unconfirmed | La versione rientra in una fascia interessata, ma la route REST batch non ha risposto come previsto. |
not affected | WordPress rilevato, versione al di fuori delle fasce interessate. |
wordpress not detected | Nessuna versione trovata (REST bloccata, tag generator rimosso, o non è WordPress). |
unreachable | L'host non ha risposto. |