CVE-2026-41159 json
Mermaid: Improper sanitization of configuration leads to CSS injection
published 2026-05-11 5 mo ago modified 2026-09-10 1 mo ago also EUVD-2026-33324 , GHSA-87f9-hvmw-gh4p
- cvss
- 5.3
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 42%
- public exploits
- 0
- none known
Summary
Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams and charts. Prior to 10.9.6 and 11.15.0, Mermaid's default configuration allows injecting CSS that applies outside of the Mermaid diagram via the fontFamily, themeCSS, and altFontFamily configuration options. The injected CSS exploits stylis's & (scope reference) handling. :not(&) escapes the #mermaid-xxx automatic scoping, applying styles to all page elements. Global at-rules (@font-face, @keyframes, @counter-style) are also injectable as stylis hoists them to top level. This allows page defacement and DOM attribute exfiltration via CSS :has() selectors. This vulnerability is fixed in 10.9.6 and 11.15.0.
Patch / fix
- npm mermaid 10.9.6, 11.15.0
- mermaid_project mermaid 10.9.6, 11.15.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-41159 updated cvss 5.4
mermaid: Mermaid: Information disclosure and page defacement via CSS injection
-
Red Hat Build of Podman Desktop rh-podman-desktop.git Red Hat OpenShift AI (RHOAI) rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9 Red Hat OpenShift Dev Spaces devspaces/code-rhel9affected: workaround, no fix available “Fix deferred”
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 5 mo ago
Exploit prediction
0.49% chance of exploitation in the next 30 days, higher than 42% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.3 | 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 |
| CNA | 4.0 | 5.3 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | mermaid | >=11.0.0-alpha.1, <11.15.0 <10.9.6 |
11.15.0 10.9.6 |
Affected products
- mermaid-js mermaid
Classification
- Weakness
-
- CWE-94 Improper Control of Generation of Code
References
-
github.com
/mermaid-js/mermaid/commit/64769738d5b59211e1decb471ffbaca8afec51aa
web
-
github.com
/mermaid-js/mermaid/commit/a9d9f0d8eb790349121508688cd338253fd80d76
web
-
github.com
/mermaid-js/mermaid/security/advisories/GHSA-87f9-hvmw-gh4p
web, third-party-advisory
-
github.com
/mermaid-js/mermaid/releases/tag/mermaid@11.15.0
web, release-notes
-
github.com
/mermaid-js/mermaid/releases/tag/v10.9.6
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-41159
advisory
-
github.com
/mermaid-js/mermaid
package
-
github.com
/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0
web
Sources
- CVE List CVE-2026-41159
- GitHub Advisory GHSA-87f9-hvmw-gh4p
- NVD CVE-2026-41159
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.