CVE-2026-41149 Mermaid: Improper sanitization of `classDef` in state diagrams leads to HTML injection
Attackers can inject HTML into Mermaid state diagrams via classDef, potentially leading to code execution or security bypasses in applications using the library.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-41149?
CVE-2026-41149 is a medium-severity cross-site scripting vulnerability in mermaid-js mermaid, published on 22 May 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams and charts. Versions 10.9.5 and earlier, as well as 11.0.0-alpha.1 through 11.14.0, are vulnerable to HTML injection under the default configuration. Specifically, the classDef directive in Mermaid state diagrams permits DOM injection that escapes the SVG context. However, <script> tags are stripped, which prevents cross-site scripting (XSS). This issue has been fixed in versions 10.9.6 and 11.15.0. If developers are unable to immediately upgrade, they can work around this issue by setting "securityLevel": "sandbox", which prevents the issue by rendering the mermaid diagram in a sandboxed <iframe>.
Weakness: CWE-94
Which versions are affected by CVE-2026-41149?
4 open source packages ship an affected version, including mermaid.
| Package | Affected | Fixed in |
|---|---|---|
mermaid npm | All versions | 10.9.6 |
mermaid npm | All versions | 10.9.6 |
mermaid npm | From 11.0.0-alpha.1 | 11.15.0 |
mermaid npm | From 11.0.0-alpha.1 | 11.15.0 |
How do I fix CVE-2026-41149?
Upgrade mermaid to a fixed version for your release line: 10.9.6 or 11.15.0.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-41149 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-41149 exists.
Sources
Also known as DEBIAN-CVE-2026-41149, GHSA-ghcm-xqfw-q4vr, MINI-64cw-chmx-8v92, MINI-vmjx-p29h-w3q2, UBUNTU-CVE-2026-41149.