| 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
Summary: A stored Cross-Site Scripting (XSS) vulnerability (CVE-2024-12120) was disclosed in the Royal Elementor Addons & Templates plugin affecting versions ≤ 1.7.1017. An authenticated user with Contributor-level privileges can inject stored JavaScript that may execute in the browser of higher-privileged users or site visitors. This post explains the technical details, real-world risk, detection steps, and practical mitigation strategies you can apply immediately from the perspective of a Hong Kong security practitioner.
TL;DR — Datos rápidos
- Vulnerabilidad: Cross-Site Scripting (XSS) almacenado
- CVE: CVE-2024-12120
- Affected software: Royal Elementor Addons & Templates plugin ≤ 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.
- Later, when an admin/editor or visitor views a page or admin screen that renders the stored field, the plugin outputs the data without encoding, allowing embedded