the_open_door
café
ESEN
← Volver al índice

WP Advanced Search SQLi (CVE-2024-9796)

El plugin de WordPress WP Advanced Search (<= 3.3.9.2) es vulnerable a una inyección SQL no autenticada (CVE-2024-9796). Uno de sus parámetros de búsqueda (usados en las consultas AJAX del plugin) no se sanea, permitiendo a un atacante sin sesión extraer datos de la base de datos de WordPress, incluida la tabla wp_users con los hashes phpass de las contraseñas.

Con un PoC público se vuelca la tabla de usuarios:

python3 CVE-2024-9796.py    # -> usuarios + hashes $P$...

Los hashes $P$ son phpass; john o hashcat (modo 400) los crackean con un diccionario:

john --wordlist=/usr/share/wordlists/rockyou.txt hashes

Las contraseñas recuperadas suelen valer para el panel de WordPress y, por reutilización, para FTP o SSH.

Matices. La versión vulnerable llega hasta la 3.3.9.2; hay que confirmar el plugin y su versión (con wpscan) antes de asumir explotabilidad. Es SQLi de extracción de datos, no RCE: la escalada posterior depende de crackear los hashes o de reutilizar credenciales.

Cómo detectarlo. La firma es de SQLi en el log de acceso: peticiones no autenticadas al endpoint AJAX del plugin (admin-ajax.php con la acción de WP Advanced Search) cuyos parámetros contienen sintaxis SQL (UNION SELECT, ' OR 1=1, SLEEP(, comentarios -- -). Un mismo origen enviando decenas de peticiones casi idénticas que solo varían en el payload es el patrón de sqlmap, y cualquier WAF con firmas SQLi lo marca. La extracción de wp_users se ve como respuestas anómalamente grandes o como consultas con information_schema en la BD si hay auditoría.

Defensa. Actualizar el plugin, usar consultas parametrizadas y contraseñas robustas y no reutilizadas. Relacionado con SQLi a ciegas, crackeo de hashes y reutilización de credenciales.

HerramientasWPScan

Máquinas donde se aplica