⚡️ Cloudflare Image Resizing <= 1.5.6 - Ejecución Remota de Código no Autenticada (CVE-2025-8723) Exploit
🚨 Resumen de la Vulnerabilidad
El plugin Cloudflare Image Resizing para WordPress (versiones <= 1.5.6) sufre una vulnerabilidad de Falta de Autenticación que permite Ejecución Remota de Código no Autenticada (RCE) a través del hook rest_pre_dispatch.
- CVE: CVE-2025-8723
- Puntuación CVSS: 9.8 (Crítica)
- Publicado: 18 de agosto de 2025
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Descubierto por: Wordfence Intelligence
Descripción:
El endpoint de la API REST del plugin no autentica a los usuarios y desinfecta incorrectamente la entrada en el método hook_rest_pre_dispatch(). Esta falla permite a los atacantes inyectar y ejecutar código PHP arbitrario mediante solicitudes maliciosas, sin necesidad de iniciar sesión.
🛠 Características de Este Exploit
- Script Python profesional, modular y extensible
- Detección automática de la vulnerabilidad del plugin analizando el archivo
readme.txt
- Múltiples técnicas de bypass para WAF y entornos restrictivos:
- Conjuntos de cabeceras mínimos y avanzados (User-Agent, Referer, Origin, X-Forwarded-For aleatorios, etc.)
- Intentos repetidos con rotación de cabeceras
- Soporte de proxy (personalizado o estilo BurpSuite)
- Ejecución de comandos personalizados:
- Por defecto:
whoami, pero el usuario puede especificar cualquier comando
- Salida clara y profesional con códigos de estado informativos
- Manejo elegante de todos los casos de error (plugin faltante, prohibido/no autorizado, errores del servidor, etc.)
📦 ¿Qué Contiene el Script?
1️⃣ Detección Automática de Vulnerabilidad
- Obtiene
wp-content/plugins/cf-image-resizing/readme.txt
- Extrae y verifica la versión del plugin
- Si la versión es ≤ 1.5.6, procede a la explotación
2️⃣ Múltiples Estrategias de Exploit
- Cabeceras mínimas: Envía solo lo necesario para maximizar la compatibilidad
- Cabeceras avanzadas: Aleatoriza User-Agent, Referer, Origin, Accept-Language y más en cada intento
- Rotación de cabeceras: Prueba varias combinaciones para evadir WAF y limitación de velocidad
3️⃣ Ejecución Personalizable
- Ejecute cualquier comando del sistema en el objetivo mediante argumento CLI
Ejemplo: -c "id"
4️⃣ Soporte de Proxy
- Use
--proxy para enviar solicitudes a través de un proxy (ej., BurpSuite)
5️⃣ Salida Completa
- Muestra la versión detectada, estado de vulnerabilidad, métodos intentados y salida real del comando
🚀 Uso
python3 CVE-2025-8723.py -u http://target.com/
- Comando por defecto:
whoami
Especifique un comando personalizado:
python3 CVE-2025-8723.py -u http://target.com/ -c "id"
Use un proxy (ej., BurpSuite):
python3 CVE-2025-8723.py -u http://target.com/ --proxy http://127.0.0.1:8080
Aumente los intentos de cabeceras avanzadas (por defecto son 5):
python3 CVE-2025-8723.py -u http://target.com/ --attempts 10
🧩 Ejemplo de Salida
[+] CVE-2025-8723 Exploit | by Khaled Alenazi (Nxploited)
[+] Versión detectada: 1.5.6
[+] El objetivo es vulnerable (<=1.5.6). Procediendo con el exploit.
[*] Probando cabeceras mínimas (solo Content-Type)...
[=] Cabeceras Mínimas | Estado: 200
www-data
[+] ¡El exploit funcionó con este método!
🛡️ Técnicas de Bypass y Evasión
- Aleatorización de Cabeceras: Prueba varias combinaciones de User-Agent, Referer, Origin y Accept-Language
- Soporte de Proxy: Use un proxy para rotar IPs y evadir restricciones basadas en IP
- Múltiples Intentos: Reintenta con nuevas cabeceras si las solicitudes son bloqueadas o prohibidas
- Manejo de Errores: Interpreta inteligentemente todas las respuestas comunes (404, 401, 403, 5xx, timeouts)
📖 Estructura del Script Explicada
- normalize_url: Asegura el formato correcto de la URL
- get_headers: Genera cabeceras avanzadas aleatorias para cada intento
- get_readme/extract_version/is_vulnerable: Lógica automatizada de detección de vulnerabilidades
- try_exploit: Intenta la explotación con un conjunto de cabeceras dado
- exploit_all: Orquesta todos los intentos de exploit, cambiando estrategias de cabeceras automáticamente
- scan: Verifica la presencia del plugin y la vulnerabilidad
- Nxploited (main): Análisis de argumentos, reportes y flujo de trabajo del exploit
⚠️ Descargo de Responsabilidad
Esta herramienta es solo para pruebas de seguridad autorizadas y fines educativos.
El desarrollador no se hace responsable por cualquier uso indebido o daño causado por este código.
Por: Khaled Alenazi (Nxploited)