| Nombre del plugin | Royal Elementor Addons |
|---|---|
| Tipo de vulnerabilidad | XSS |
| Número CVE | CVE-2024-12120 |
| Urgencia | Medio |
| Fecha de publicación de CVE | 2026-02-03 |
| URL de origen | CVE-2024-12120 |
Guía Crítica — CVE-2024-12120: XSS almacenado autenticado (Contribuyente) en Royal Elementor Addons (<= 1.7.1017)
Autor: Experto en seguridad de Hong Kong
Fecha: 2026-02-03
Resumen: Se divulgó una vulnerabilidad de Cross-Site Scripting (XSS) almacenada (CVE-2024-12120) en el plugin Royal Elementor Addons & Templates que afecta a las versiones ≤ 1.7.1017. Un usuario autenticado con privilegios de nivel Contributor puede inyectar JavaScript almacenado que puede ejecutarse en el navegador de usuarios o visitantes del sitio con privilegios más altos. Esta publicación explica los detalles técnicos, el riesgo en el mundo real, los pasos de detección y las estrategias de mitigación prácticas que puedes aplicar de inmediato desde la perspectiva de un profesional de seguridad de Hong Kong.
TL;DR — Datos rápidos
- Vulnerabilidad: Cross-Site Scripting (XSS) almacenado
- CVE: CVE-2024-12120
- Software afectado: plugin Royal Elementor Addons & Templates ≤ 1.7.1017
- Corregido en: 1.7.1018 (actualiza de inmediato)
- Privilegio requerido del atacante: Contribuyente autenticado (o superior, dependiendo de la configuración del sitio)
- Vector de explotación: El atacante almacena la carga útil en campo(s) controlado(s) por el plugin; el script se ejecuta cuando los usuarios o visitantes privilegiados ven el contenido almacenado
- Riesgo: Medio (CVSS ~6.5 reportado) — el atacante puede ejecutar JavaScript del lado del navegador causando robo de sesión, inyección de contenido o persistencia
- Mitigaciones inmediatas: Actualiza el plugin, elimina/limita cuentas de Contribuyente, aplica parches virtuales a nivel de inspección de solicitudes, escanea en busca de contenido inyectado
Por qué esto importa (impacto en el mundo real)
El XSS almacenado está entre las vulnerabilidades del lado del cliente más peligrosas. Cuando JavaScript arbitrario se guarda en la base de datos y luego se ejecuta en el navegador de otro usuario, los atacantes pueden:
- Robar cookies o tokens de sesión de administradores e intentar tomar el control total del sitio.
- Realizar acciones en el navegador en nombre de un usuario privilegiado (cambiar configuraciones, instalar plugins, publicar contenido).
- Inyectar contenido malicioso persistente (redirecciones, anuncios no deseados o puertas traseras basadas en DOM).
- Crear persistencia que sobrevive a escaneos de archivos, ya que las cargas útiles viven en la base de datos.
- Combinar con otras debilidades para escalar el impacto o exfiltrar datos.
Debido a que este error puede ser activado por una cuenta de nivel Contribuyente — un rol frecuentemente utilizado para autores y presentadores de contenido — los sitios que aceptan contenido enviado por usuarios están particularmente en riesgo.
Visión técnica: cómo funciona la vulnerabilidad
Este es un clásico XSS almacenado causado por una validación de entrada insuficiente y falta de escape de salida en la interfaz de usuario del plugin o lógica de renderizado. En términos prácticos:
- Un usuario autenticado con privilegios de Colaborador crea o actualiza un campo de contenido expuesto por el plugin (descripción de la plantilla, parámetro de widget, atributo de shortcode o postmeta gestionado por el plugin).
- El plugin acepta y guarda la entrada sin la debida sanitización.
- Más tarde, cuando un administrador/editor o visitante ve una página o pantalla de administración que renderiza el campo almacenado, el plugin muestra los datos sin codificación, permitiendo la inserción de