mermaid-js/mermaid · Security
Prototype pollution vulnerability found in Mermaid's bundled version of DOMPurify
- GHSA ID
- GHSA-m4gq-x24j-jpmf
- Severity
- high
- Published
- Updated
- CVSS
- 7 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L
- CVSS v3
- 7 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L
Description
The following bundled files within the Mermaid NPM package contain a bundled version of DOMPurify that is vulnerable to https://github.com/cure53/DOMPurify/security/advisories/GHSA-mmhx-hmjr-r674, potentially resulting in an XSS attack.
This affects the built:
dist/mermaid.min.jsdist/mermaid.jsdist/mermaid.esm.mjsdist/mermaid.esm.min.mjs
This will also affect users that use the above files via a CDN link, e.g. https://cdn.jsdelivr.net/npm/[email protected]/dist/mermaid.min.js
Users that use the default NPM export of mermaid, e.g. import mermaid from 'mermaid', or the dist/mermaid.core.mjs file, do not use this bundled version of DOMPurify, and can easily update using their package manager with something like npm audit fix.
Patches
developbranch: 6c785c93166c151d27d328ddf68a13d9d65adc00- backport to v10: 92a07ffe40aab2769dd1c3431b4eb5beac282b34
CWEs
- CWE-1321 · Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
- CWE-1395 · Dependency on Vulnerable Third-Party Component
References
- https://github.com/cure53/DOMPurify/security/advisories/GHSA-mmhx-hmjr-r674 ↗
- https://github.com/mermaid-js/mermaid/security/advisories/GHSA-m4gq-x24j-jpmf ↗
- https://github.com/mermaid-js/mermaid/commit/6c785c93166c151d27d328ddf68a13d9d65adc00 ↗
- https://github.com/mermaid-js/mermaid/commit/92a07ffe40aab2769dd1c3431b4eb5beac282b34 ↗
- https://github.com/advisories/GHSA-m4gq-x24j-jpmf ↗