Read the docs
TI-2026-29776 Aliases CVE-2026-41148GHSA-xcj9-5m2h-648r

Mermaid: Improper sanitization of `classDefs` in diagrams leads to CSS injection

Priority LOW 24CWE-94Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
Code execution
Confidentiality · integrity · availability
None · Low · None
Fix status
Partial Red Hat: 2 without a fix

Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-94.

Summary

Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams and charts. Versions 10.9.5 and prior, in addition to 11.0.0-alpha.1 through 11.12.0 are vulnerable to CSS injection through improper sanitization. The state diagram (and any other diagram type that routes user-controlled style strings through the createCssStyles parser) captures classDef values using an unrestricted regex that matches everything up to a newline. That value then flows unsanitized through addStyleClass() into createCssStyles() and is assigned to style.innerHTML, so a closing brace (}) in the value terminates the generated CSS selector and turns everything after it into a new CSS rule on the page. This enables page defacement, user tracking via url() callbacks, and DOM attribute exfiltration. 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>.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00338 27th percentileScored 2026-11-07
Fix Partial mermaid (mermaid-js): 11.15.0, 10.9.6mermaid (npm): 11.15.0, 10.9.6Red Hat: 2 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
mermaid-jsmermaid11.0.0-alpha.1 to before 11.15.0; before 10.9.611.15.0, 10.9.6Patch availableCNA
—mermaid (npm)11.0.0-alpha.1 to before 11.15.011.15.0Patch availableGHSA-xcj9-5m2h-648r
—mermaid (npm)before 10.9.610.9.6Patch availableGHSA-xcj9-5m2h-648r
  • mermaid Vendormermaid-js Affected 11.0.0-alpha.1 to before 11.15.0; before 10.9.6 Fixed in 11.15.0, 10.9.6 Patch available CNA
  • mermaid (npm) Vendor— Affected 11.0.0-alpha.1 to before 11.15.0 Fixed in 11.15.0 Patch available GHSA-xcj9-5m2h-648r
  • mermaid (npm) Vendor— Affected before 10.9.6 Fixed in 10.9.6 Patch available GHSA-xcj9-5m2h-648r

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:mermaid_project:mermaid:*:*:*:*:*:*:*:*——mermaid-js
  • cpe:2.3:a:mermaid_project:mermaid:*:*:*:*:*:*:*:* Versions — — ·mermaid-js

Remediation

  • Fix · CNA mermaid (mermaid-js) Fixed in 11.15.0, 10.9.6
  • Fix · GHSA-xcj9-5m2h-648r mermaid (npm) Fixed in 11.15.0 Advisory →
  • Fix · GHSA-xcj9-5m2h-648r mermaid (npm) Fixed in 10.9.6 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Build of Podman DesktopAffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-41148
  2. 2026-10-03 Alias added: GHSA-xcj9-5m2h-648r

References

  • TI-2026-29778 Mermaid Gantt Charts are vulnerable to an Infinite Loop DoS CVSS 4.0MEDIUM 5.3
  • TI-2025-34615 Mermaid improperly sanitizes of sequence diagram labels leading to XSS CVSS 4.0MEDIUM 5.3
  • TI-2026-50057 Mermaid Architecture diagrams are vulnerable to prototype pollution CVSS 4.0MEDIUM 6.5
  • TI-2022-13152 Arbitrary `CSS` injection into the generated graph affecting the container HTML in mermaid.js CVSS 3.1MEDIUM 6.1
  • TI-2024-25762 Cross-site Scripting in ZenUML CVSS 3.1MEDIUM 5.4
  • TI-2026-29777 Mermaid: Improper sanitization of `classDef` in state diagrams leads to HTML injection CVSS 4.0MEDIUM 5.3
See all 14 →

Sources