| Nombre del plugin | Reproductor de pistas de Wikiloops |
|---|---|
| Tipo de vulnerabilidad | Scripting entre sitios (XSS) |
| Número CVE | CVE-2026-1611 |
| Urgencia | Baja |
| Fecha de publicación de CVE | 2026-02-08 |
| URL de origen | CVE-2026-1611 |
Reproductor de pistas de Wikiloops (≤ 1.0.1) — XSS almacenado de contribuyente autenticado (CVE-2026-1611)
Publicado: 6 feb, 2026 | Severidad: Bajo (Prioridad de parche: Baja) — CVSS: 6.5 | CVE: CVE-2026-1611
Plugin afectado: Reproductor de pistas de Wikiloops (versiones ≤ 1.0.1) | Privilegio requerido para la explotación: Contribuyente (autenticado)
Resumen ejecutivo
Una vulnerabilidad de scripting entre sitios almacenada (XSS) en el reproductor de pistas de Wikiloops (≤ 1.0.1) permite a un usuario autenticado con privilegios de nivel de contribuyente inyectar JavaScript en contenido renderizado por shortcode. La carga útil es persistente y se ejecuta en el navegador de cualquier visitante que vea la página comprometida. La explotación solo requiere una cuenta de contribuyente para introducir la carga útil; el impacto depende de los visitantes que accedan a las páginas afectadas.
El XSS almacenado es una clase potente de vulnerabilidad. Aunque este hallazgo se califica como Bajo/Moderado por puntuación, los operadores del sitio deben actuar para reducir la exposición, especialmente en sitios de múltiples autores y plataformas comunitarias donde las cuentas de contribuyentes son comunes.
¿Qué es el XSS almacenado a través de shortcode? La imagen técnica
Los shortcodes de WordPress aceptan atributos y contenido de los editores de publicaciones y renderizan HTML en el front end. Un XSS almacenado a través de shortcode surge cuando:
- La entrada del shortcode (atributos o contenido encerrado) puede ser proporcionada por un usuario autenticado (aquí, un Contribuyente),
- Esa entrada se guarda en la base de datos (post_content, post_meta o tablas personalizadas),
- El plugin renderiza la entrada guardada sin la codificación de salida correcta o la sanitización,
- Cargas útiles de JavaScript (por ejemplo #is', '', $content );<[a-z0-9]+\b[^>]*?)\s+on[a-z]+\s*=\s*(["\']).*?\2#is',
Esto previene el almacenamiento futuro de etiquetas de script de roles específicos. No limpia retroactivamente el contenido existente.
-
Sobrescribir el manejador de shortcode: Eliminar el controlador del plugin y registrar un envoltorio que sanee atributos y contenido encerrado antes de renderizar.
<?php