Mermaid configuration APIs allow prototype pollution
Key facts
- Attack vector
- Local
- Privileges required
- High
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · Low
- Fix status
- Partial Red Hat: 3 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
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.
Why it matters now
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| mermaid-js | mermaid | before 10.9.8; 11.0.0-alpha.1 to before 11.16.1 | 10.9.8, 11.16.1 | Patch available | CNA |
| — | mermaid (npm) | 11.0.0-alpha.1 to before 11.16.1 | 11.16.1 | Patch available | GHSA-c4c3-pg64-4m4v |
| — | mermaid (npm) | before 10.9.8 | 10.9.8 | Patch available | GHSA-c4c3-pg64-4m4v |
- mermaid Vendormermaid-js Affected before 10.9.8; 11.0.0-alpha.1 to before 11.16.1 Fixed in 10.9.8, 11.16.1 Patch available CNA
- mermaid (npm) Vendor— Affected 11.0.0-alpha.1 to before 11.16.1 Fixed in 11.16.1 Patch available GHSA-c4c3-pg64-4m4v
- mermaid (npm) Vendor— Affected before 10.9.8 Fixed in 10.9.8 Patch available GHSA-c4c3-pg64-4m4v
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| 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 10.9.8, 11.16.1
- Fix · GHSA-c4c3-pg64-4m4v mermaid (npm) Fixed in 11.16.1 Advisory →
- Fix · GHSA-c4c3-pg64-4m4v mermaid (npm) Fixed in 10.9.8 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Build of Podman Desktop | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Dev Spaces | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-71438
- 2026-10-03 Alias added: GHSA-c4c3-pg64-4m4v
References
Other 7
- 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
- https://github.com/mermaid-js/mermaid
More mermaid-js vulnerabilities
- 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
Sources
- CVE-2026-71438 · CVE Program
- CVE-2026-71438 · NVD
- FIRST EPSS
- GHSA-c4c3-pg64-4m4v · GitHub Advisory Database · CC BY 4.0
- CVE-2026-71438 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences