CVE-2026-41149
MediumCVSS 5.3Exploitation Probability (EPSS)
Low risk33th percentile - higher than 33% of all known CVEs
Summary
In Mermaid up to version 10.9.5 and from 11.0.0-alpha.1 to 11.14.0, there is an HTML injection vulnerability under default configuration. The classDef directive in state diagrams permits DOM injection outside the SVG context, though <script> tags are stripped, preventing XSS.
Risk Assessment
An attacker can inject malicious HTML into diagrams, potentially leading to session data theft, redirects, or other attacks on users viewing the diagrams.
Recommendation
It is recommended to upgrade Mermaid to version 10.9.6 or 11.15.0. If not possible, setting securityLevel to "sandbox" renders diagrams in a sandboxed iframe, preventing the issue.
Other vulnerabilities in Mermaid
See all- CVE-2026-71439Medium
Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams. From version 11.6.0 until 11.16.1, Mermaid Radar Diagrams allow arbitrary large values for the ticks parameter, which can cause high CPU usage and freeze the rendering webpage or JavaScript process for long periods of time, potentially until the process is killed from memory exhaustion. This issue is fixed in version 11.16.1.
- CVE-2026-71438Low
Mermaid before 10.9.8 and 11.16.1 is vulnerable to prototype pollution via configuration setters when untrusted data is passed. Diagram-supplied config is not affected.
- CVE-2026-71437Medium
Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams. From version 11.5.0 until 11.16.1, Mermaid Architecture Diagrams are vulnerable to prototype pollution when a diagram defines a group with an id of __proto__. Because the group id is used directly as an object property key without validation, an attacker who can supply diagram text can pollute Object.prototype, potentially affecting the behavior of the embedding application. This issue is fixed in version 11.16.1.
- CVE-2026-71436Medium
Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams. From version 10.6.0 until 10.9.8 and 11.16.1, Mermaid XY Charts are vulnerable to an infinite loop denial of service in the setXAxisRangeData function when configuring an X-Axis with invalid parameters. Because each loop iteration appends an element to an array, this generally causes a RangeError to appear after a few seconds, but it may instead cause the page or JavaScript process to crash from memory exhaustion, depending on the environment. This issue is fixed in versions 10.9.8 and 11.16.1.
- CVE-2026-50159Medium
Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams and charts. Prior to 10.9.8 and 11.16.1, Mermaid is vulnerable to CSS injection via sibling combinator selectors generated from diagram-supplied class or id names. An attacker who can supply diagram text can inject arbitrary CSS into the rendered page, potentially altering the appearance or behavior of unrelated page elements. This issue is fixed in versions 10.9.8 and 11.16.1.
- CVE-2026-41159Medium
Mermaid, a JavaScript diagramming tool, has a CSS injection vulnerability in its default configuration prior to versions 10.9.6 and 11.15.0. The fontFamily, themeCSS, and altFontFamily options allow injecting CSS that escapes the #mermaid-xxx scoping, enabling page defacement and DOM attribute exfiltration via :has() selectors.
- CVE-2026-41150Medium
Mermaid before versions 10.9.6 and 11.15.0 is vulnerable to a denial-of-service attack when rendering Gantt charts if the excludes attribute is used to exclude all dates.
- CVE-2026-41148Medium
CSS injection vulnerability in Mermaid up to version 10.9.5 and 11.0.0-alpha.1 through 11.12.0. Improper sanitization in the createCssStyles parser allows CSS injection, leading to page defacement, user tracking, or DOM attribute exfiltration.
Original NVD description (English source)
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>.

