Protege los sitios web de Hong Kong de amenazas XSS (CVE20245542)

Cross Site Scripting (XSS) en el complemento Master Addons para Elementor de WordPress
Nombre del plugin Complementos Master para Elementor
Tipo de vulnerabilidad Scripting entre sitios (XSS)
Número CVE CVE-2024-5542
Urgencia Medio
Fecha de publicación de CVE 2026-02-13
URL de origen CVE-2024-5542

Aviso de seguridad urgente — CVE-2024-5542: XSS almacenado no autenticado en Master Addons para Elementor (≤ 2.0.6.1) y cómo proteger sus sitios

Autor: Experto en seguridad de Hong Kong | Fecha: 2026-02-11 | Etiquetas: WordPress, XSS, Vulnerabilidad de complemento, Master Addons, Elementor

Resumen: Se ha divulgado una vulnerabilidad de Cross‑Site Scripting (XSS) almacenado (CVE‑2024‑5542, CVSS 7.2) en el complemento Master Addons para Elementor que afecta a las versiones ≤ 2.0.6.1. La falla permite a atacantes no autenticados almacenar contenido de script malicioso a través del widget del Menú de Navegación que luego se muestra a los visitantes del sitio. Este aviso explica cómo funciona el problema, quién está en riesgo, técnicas de detección, mitigaciones inmediatas y a largo plazo, y pasos de contención que debe tomar ahora.

Datos rápidos

  • Vulnerabilidad: XSS almacenado no autenticado
  • Software afectado: Master Addons para Elementor (complemento)
  • Versiones afectadas: ≤ 2.0.6.1
  • Versión corregida: 2.0.6.2 (actualice inmediatamente cuando sea posible)
  • CVE: CVE‑2024‑5542
  • CVSS (v3.1): 7.2 (Alto / Medio dependiendo del entorno)
  • Privilegios requeridos: Ninguno (No autenticado)
  • Impacto: Ejecución de scripts en el contexto de los visitantes (XSS almacenado), posible robo de cookies/tokens, acciones forzadas, inyección de iFrame, o pivote a usuarios administrativos

¿Qué es el XSS almacenado y por qué es importante?

El Cross‑Site Scripting (XSS) almacenado ocurre cuando una aplicación persiste contenido proporcionado por el atacante y luego lo sirve a otros usuarios sin una sanitización o escape adecuado. Los payloads persistentes se ejecutan cada vez que una página renderiza ese contenido, haciendo que el XSS almacenado sea más peligroso que las variantes transitorias (reflejadas).

Por qué esto es peligroso:

  • Persistencia: Los payloads se ejecutan en cada carga de página que incluye el contenido almacenado.
  • Amplia exposición: Componentes comunes como menús y widgets pueden exponer a muchos visitantes.
  • Objetivos elevados: Si los administradores ven una página infectada mientras están conectados, el payload puede acceder a cookies o tokens privilegiados y escalar el ataque.
  • Data theft & account takeover: JavaScript can exfiltrate session cookies, auth tokens, or perform actions on behalf of the user.
  • Daño a SEO y reputación: El código inyectado puede entregar spam, redirecciones o malware, perjudicando las clasificaciones y la confianza del usuario.

Debido a que el problema reportado es un XSS almacenado no autenticado, el atacante no necesita tener una cuenta para persistir contenido malicioso, lo que hace que la remediación rápida sea esencial.

El problema del widget del Menú de Navegación de Master Addons — resumen técnico

Resumen de la vulnerabilidad basado en divulgación pública y análisis técnico:

  • El plugin expone un widget de Menú de Navegación que acepta contenido para renderizar menús (etiquetas, enlaces, configuraciones).
  • Un endpoint que maneja configuraciones de widget/menu permitía solicitudes HTTP no autenticadas para enviar datos que son almacenados por el plugin, debido a la falta de verificaciones de autorización o a que estas eran insuficientes.
  • Los datos enviados (por ejemplo, una etiqueta de elemento de menú) no fueron suficientemente sanitizados/escapados al ser mostrados en el front‑end, resultando en la ejecución de scripts en los navegadores de los visitantes.
  • Debido a que el XSS está almacenado, el payload malicioso persiste hasta que se elimine o sobrescriba.

Patrón vulnerable típico (conceptual):

  1. Un endpoint acepta un payload POST/REST/AJAX que contiene texto de menú / configuraciones de widget y lo escribe en la base de datos sin verificar las capacidades del usuario que envía.
  2. El plugin muestra esos valores en el marcado de la página sin el escape o sanitización apropiados.
  3. El navegador ejecuta el script inyectado cuando se renderiza la página.

El autor del plugin lanzó una solución en la versión 2.0.6.2 para implementar verificaciones de autorización adecuadas y sanitizar la salida. Aplica esta actualización tan pronto como sea operativamente posible.

Quién está en riesgo y posibles impactos

En riesgo:

  • Cualquier sitio de WordPress que ejecute Master Addons para Elementor en la versión ≤ 2.0.6.1.
  • Sitios con el widget de Menú de Navegación vulnerable activo o cualquier otro widget que reutilice la misma ruta de guardado/renderizado vulnerable.
  • Sitios con visitantes públicos: la vulnerabilidad apunta al renderizado del front-end y afecta a todos los visitantes y usuarios registrados.
  • Sitios donde administradores, editores o usuarios privilegiados pueden visitar el front-end mientras están autenticados.

Posibles impactos:

  • Visitantes del sitio web experimentando redirecciones, ventanas emergentes o descargas forzadas.
  • Robo de credenciales para usuarios registrados (cookies, tokens CSRF).
  • Toma de control de cuentas de usuarios privilegiados si la carga útil apunta a cookies o realiza acciones privilegiadas a través de su sesión.
  • Spam SEO, enlaces inyectados o distribución de malware.
  • Puertas traseras de JavaScript persistentes que se comunican con la infraestructura del atacante.
  • Pérdida de confianza del cliente y posible exposición regulatoria si se exfiltran datos personales.

Indicadores de compromiso (IoCs) y qué buscar ahora

Buscar rastros comúnmente asociados con cargas útiles de XSS almacenadas. Los atacantes a menudo ofuscan, así que busca anomalías en lugar de patrones exactos solamente.

Cosas a verificar de inmediato:

  • Elementos o etiquetas de menú inesperados en Apariencia → Menús, o en widgets de menú de navegación.
  • Database entries (wp_posts with post_type = ‘nav_menu_item’) containing