CVE-2026-71438
Mermaid configuration APIs allow prototype pollution
- State
- Published
- Severity
- 2.4 Low
- Published
- Aug 6, 2026
- Updated
- Aug 7, 2026
- Reserved
- Aug 6, 2026
Description
Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams and charts. Prior to 10.9.8 and 11.16.1, Mermaid's configuration setters (mermaid.initialize, mermaidAPI.setConfig, and mermaidAPI.updateSiteConfig) merge caller-supplied configuration into Mermaid's internal config using the assignWithDepth deep-merge helper, which is vulnerable to prototype pollution. This is only exploitable if an application forwards untrusted data directly into one of these configuration entry points, which is outside their documented usage; diagram-supplied configuration (e.g. %%{init: {}}%% or YAML frontmatter) is not affected. This issue is fixed in versions 10.9.8 and 11.16.1.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 4.0 | 2.4 Low | CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:A/VC:N/VI:L/VA:L/SC:H/SI:H/SA:H | GitHub_M |
Weaknesses
- CWE-1321 Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
Affected Products
| Product | Versions |
|---|---|
mermaidmermaid-js |
|
References
- https://github.com/mermaid-js/mermaid/security/advisories/GHSA-c4c3-pg64-4m4v
- https://github.com/mermaid-js/mermaid/pull/8022
- https://github.com/mermaid-js/mermaid/commit/2cd6dcf735533b323507e3e889ffdea870540b43
- https://github.com/mermaid-js/mermaid/commit/c34b07a0815842327e70794d69b0c8c5a1e2a956
- https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.16.1
- https://github.com/mermaid-js/mermaid/releases/tag/v10.9.8
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.