Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-41149 EUVD-2026-31520GHSA-ghcm-xqfw-q4vr

Mermaid: Improper sanitization of `classDef` in state diagrams leads to HTML injection

Published May 22, 2026 · Updated May 23, 2026 · Assigned by GitHub_M

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 products

VendorProductAffectedFixed
mermaid-js mermaid >= 11.0.0-alpha.1, < 11.15.0, < 10.9.6 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 node-mermaid No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 node-mermaid No fix yet —
Ubuntu 22.04 LTS node-mermaid No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
npm mermaid >= 11.0.0-alpha.1, < 11.15.0 11.15.0 GHSA-ghcm-xqfw-q4vr
npm mermaid < 10.9.6 10.9.6 GHSA-ghcm-xqfw-q4vr

References