CVE-2026-71438: mermaid · Prototype Pollution
Affects mermaidSource CVE Database V5
Not known to be exploited · CVSS 2.4 Low : upgrade to 11.16.1 or 10.9.8 when convenient.
Data as of 5 Nov 2026, 00:01 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 29% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 11.16.1, 10.9.8
CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:A/VC:N/VI:L/VA:L/SC:H/SI:H/SA:HExploitation evidence
Disclosed: evidence found.
CVE published 6 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 5 Nov 2026.
What to do
Upgrade mermaid and mermaid-js/mermaid to 11.16.1 or 10.9.8.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| mermaid-jsmermaid | Affected
| Fixed in
|
| mermaid-jsmermaid | Affected
| Fixed in
|
npmmermaid-js/mermaidpkg:npm/mermaid-js/mermaidOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade mermaid-js mermaid to version 10.9.8 or later, or 11.16.1 or later, where the prototype pollution vulnerability is fixed. Avoid passing untrusted data directly into the configuration setters (mermaid.initialize, mermaidAPI.setConfig, mermaidAPI.updateSiteConfig). Diagram-supplied configuration methods are not vulnerable and require no changes.
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.
References
- github.com/mermaid-js/mermaid/security/advisories/GHSA-c4c3-pg64-4m4v (opens in a new tab)
- github.com/mermaid-js/mermaid/pull/8022 (opens in a new tab)
- github.com/mermaid-js/mermaid/commit/2cd6dcf735533b323507e3e889ffdea870540b43 (opens in a new tab)
- github.com/mermaid-js/mermaid/commit/c34b07a0815842327e70794d69b0c8c5a1e2a956 (opens in a new tab)
- github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.16.1 (opens in a new tab)
- github.com/mermaid-js/mermaid/releases/tag/v10.9.8 (opens in a new tab)