Read the docs
TI-2026-29785 Aliases CVE-2026-41159GHSA-87f9-hvmw-gh4p

Mermaid: Improper sanitization of configuration leads to CSS injection

Priority LOW 25CWE-94Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
Code execution
Confidentiality · integrity · availability
None · Low · None
Fix status
Partial Red Hat: 3 without a fix

Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-94.

Summary

Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams and charts. Prior to 10.9.6 and 11.15.0, Mermaid's default configuration allows injecting CSS that applies outside of the Mermaid diagram via the fontFamily, themeCSS, and altFontFamily configuration options. The injected CSS exploits stylis's & (scope reference) handling. :not(&) escapes the #mermaid-xxx automatic scoping, applying styles to all page elements. Global at-rules (@font-face, @keyframes, @counter-style) are also injectable as stylis hoists them to top level. This allows page defacement and DOM attribute exfiltration via CSS :has() selectors. This vulnerability is fixed in 10.9.6 and 11.15.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00486 42nd percentileScored 2026-11-07
Fix Partial mermaid (mermaid-js): 11.15.0, 10.9.6mermaid (npm): 11.15.0, 10.9.6Red Hat: 3 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
mermaid-jsmermaid11.0.0-alpha.1 to before 11.15.0; before 10.9.611.15.0, 10.9.6Patch availableCNA
—mermaid (npm)11.0.0-alpha.1 to before 11.15.011.15.0Patch availableGHSA-87f9-hvmw-gh4p
—mermaid (npm)before 10.9.610.9.6Patch availableGHSA-87f9-hvmw-gh4p
  • mermaid Vendormermaid-js Affected 11.0.0-alpha.1 to before 11.15.0; before 10.9.6 Fixed in 11.15.0, 10.9.6 Patch available CNA
  • mermaid (npm) Vendor— Affected 11.0.0-alpha.1 to before 11.15.0 Fixed in 11.15.0 Patch available GHSA-87f9-hvmw-gh4p
  • mermaid (npm) Vendor— Affected before 10.9.6 Fixed in 10.9.6 Patch available GHSA-87f9-hvmw-gh4p

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:mermaid_project:mermaid:*:*:*:*:*:node.js:*:*before 10.9.6; 11.0.0 to before 11.15.0Vulnerablemermaid-js
  • cpe:2.3:a:mermaid_project:mermaid:*:*:*:*:*:node.js:*:* Versions before 10.9.6; 11.0.0 to before 11.15.0 Vulnerable ·mermaid-js

Remediation

  • Fix · CNA mermaid (mermaid-js) Fixed in 11.15.0, 10.9.6
  • Fix · GHSA-87f9-hvmw-gh4p mermaid (npm) Fixed in 11.15.0 Advisory →
  • Fix · GHSA-87f9-hvmw-gh4p mermaid (npm) Fixed in 10.9.6 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Build of Podman DesktopAffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat OpenShift Dev SpacesAffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-41159
  2. 2026-10-03 Alias added: GHSA-87f9-hvmw-gh4p

References

  • TI-2026-29778 Mermaid Gantt Charts are vulnerable to an Infinite Loop DoS CVSS 4.0MEDIUM 5.3
  • TI-2022-13152 Arbitrary `CSS` injection into the generated graph affecting the container HTML in mermaid.js CVSS 3.1MEDIUM 6.1
  • TI-2025-34614 Mermaid does not properly sanitize architecture diagram iconText leading to XSS CVSS 4.0MEDIUM 5.1
  • TI-2021-19667 Incorrect sanitisation function leads to `XSS` CVSS 3.1HIGH 7.2
  • TI-2021-14247 Mermaid before 8.11.0 allows XSS when the antiscript feature is used. CVSS 3.1MEDIUM 6.1

Sources