Mermaid: Improper sanitization of configuration leads to CSS injection
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
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| mermaid-js | mermaid | 11.0.0-alpha.1 to before 11.15.0; before 10.9.6 | 11.15.0, 10.9.6 | Patch available | CNA |
| — | mermaid (npm) | 11.0.0-alpha.1 to before 11.15.0 | 11.15.0 | Patch available | GHSA-87f9-hvmw-gh4p |
| — | mermaid (npm) | before 10.9.6 | 10.9.6 | Patch available | GHSA-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
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:mermaid_project:mermaid:*:*:*:*:*:node.js:*:* | before 10.9.6; 11.0.0 to before 11.15.0 | Vulnerable | mermaid-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 →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Build of Podman Desktop | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Dev Spaces | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-41159
- 2026-10-03 Alias added: GHSA-87f9-hvmw-gh4p
References
Advisory 2
Other 6
- https://github.com/mermaid-js/mermaid/commit/64769738d5b59211e1decb471ffbaca8afec51aa
- https://github.com/mermaid-js/mermaid/commit/a9d9f0d8eb790349121508688cd338253fd80d76
- https://github.com/mermaid-js/mermaid/releases/tag/[email protected]
- https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6
- https://github.com/mermaid-js/mermaid
- https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0
More mermaid-js Mermaid vulnerabilities
- 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
- CVE-2026-41159 · CVE Program
- CVE-2026-41159 · NVD
- FIRST EPSS
- GHSA-87f9-hvmw-gh4p · GitHub Advisory Database · CC BY 4.0
- CVE-2026-41159 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences