Vulnerability · Published May 22, 2026 · Assigned by GitHub_M
CVE-2026-41149Mermaid: Improper sanitization of `classDef` in state diagrams leads to HTML injection
Medium 5.3
In plain English
A medium-severity code injection in mermaid from mermaid-js. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 35% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
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>.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:14 | node-mermaid | no fix listed | DEBIAN-CVE-2026-41149 |
| Ubuntu:22.04:LTS | node-mermaid | no fix listed | UBUNTU-CVE-2026-41149 |
| Ubuntu:26.10 | node-mermaid | no fix listed | UBUNTU-CVE-2026-41149 |
| npm | mermaid | 11.15.0 | GHSA-ghcm-xqfw-q4vr |
| npm | mermaid | 10.9.6 | GHSA-ghcm-xqfw-q4vr |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| mermaid-js | mermaid | >= 11.0.0-alpha.1, < 11.15.0< 10.9.6 |
Weakness: CWE-94 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L
References
- https://github.com/mermaid-js/mermaid/security/advisories/GHSA-ghcm-xqfw-q4vr x_refsource_CONFIRM
- https://github.com/mermaid-js/mermaid/commit/37ff937f1da2e19f882fd1db01235db4d01f4056 x_refsource_MISC
- https://github.com/mermaid-js/mermaid/commit/4e2d512bf5bf6f9de1a8f0a48da78dc4d09ac4f3 x_refsource_MISC