CVE-2025-54880 json
Mermaid does not properly sanitize architecture diagram iconText leading to XSS
published 2025-08-19 14 mo ago modified 2026-08-07 3 mo ago also EUVD-2025-25190 , GHSA-8gwm-58g9-j8pw
- cvss
- 6.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 35%
- public exploits
- 0
- none known
Summary
Mermaid is a JavaScript based diagramming and charting tool that uses Markdown-inspired text definitions and a renderer to create and modify complex diagrams. In the default configuration of mermaid 11.9.0 and earlier, user supplied input for architecture diagram icons is passed to the d3 html() method, creating a sink for cross site scripting. This vulnerability is fixed in 11.10.0.
Patch / fix
- npm mermaid 11.10.0
- mermaid_project mermaid 11.10.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-2025-54880 updated cvss 6.3
mermaid: Mermaid cross site scripting
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
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
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 14 mo ago
Exploit prediction
0.41% chance of exploitation in the next 30 days, higher than 35% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/mermaid-js/mermaid/security/advisories/GHSA-8gwm-58g9-j8pw referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N |
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/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 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | mermaid | >=11.1.0, <11.10.0 |
11.10.0 |
Affected products
- mermaid-js mermaid
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/mermaid-js/mermaid/commit/2aa83302795183ea5c65caec3da1edd6cb4791fc
web, patch
-
github.com
/mermaid-js/mermaid/commit/734bde38777c9190a5a72e96421c83424442d4e4
web, product
-
github.com
/mermaid-js/mermaid/security/advisories/GHSA-8gwm-58g9-j8pw
exploit, web, patch, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2025-54880
advisory
-
github.com
/mermaid-js/mermaid
package
Sources
- CVE List CVE-2025-54880
- GitHub Advisory GHSA-8gwm-58g9-j8pw
- NVD CVE-2025-54880
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.