Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Mermaid de mermaid-js (CVE-2026-41159)

Gravedad CVSS v4.0:
MEDIA
Tipo:
CWE-94 Control incorrecto de generación de código (Inyección de código)
Fecha de publicación:
29/05/2026
Última modificación:
21/07/2026

Descripción

Mermaid es una herramienta de JavaScript que utiliza texto inspirado en Markdown para crear y modificar diagramas y gráficos. Antes de las versiones 10.9.6 y 11.15.0, la configuración predeterminada de Mermaid permite inyectar CSS que se aplica fuera del diagrama de Mermaid a través de las opciones de configuración fontFamily, themeCSS y altFontFamily. El CSS inyectado explota el manejo de & (referencia de ámbito) de stylis. :not(&) escapa el alcance automático #mermaid-xxx, aplicando estilos a todos los elementos de la página. Las reglas globales at-rules (@font-face, @keyframes, @counter-style) también son inyectables, ya que stylis las eleva al nivel superior. Esto permite la desfiguración de la página y la exfiltración de atributos del DOM a través de selectores CSS :has(). Esta vulnerabilidad se corrige en las versiones 10.9.6 y 11.15.0.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:mermaid_project:mermaid:*:*:*:*:*:node.js:*:* 10.9.6 (excluyendo)
cpe:2.3:a:mermaid_project:mermaid:*:*:*:*:*:node.js:*:* 11.0.0 (incluyendo) 11.15.0 (excluyendo)