Mermaid: Improper sanitization of `classDef` in state diagrams leads to HTML injection
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mermaid-js | mermaid | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mermaid Project | Mermaid |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-ghcm-xqfw-q4vr | Mermaid: Improper sanitization of `classDef` in state diagrams leads to HTML injection |
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.401% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Mermaid Project
Mermaid Project mermaid |
|
| Vendors & Products |
Mermaid Project
Mermaid Project mermaid |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| 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>. | |
| Title | Mermaid: Improper sanitization of `classDef` in state diagrams leads to HTML injection | |
| Weaknesses | CWE-94 | |
| References |
| |
| Metrics |
cvssV4_0
|