mermaid-js/mermaid · Security
Mermaid Gantt Charts are vulnerable to an Infinite Loop DoS
- GHSA ID
- GHSA-6m6c-36f7-fhxh
- CVE ID
- CVE-2026-41150
- Severity
- medium
- Published
- Updated
- CVSS
- 5.3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- CVSS v3
- 5.3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- CVSS v4
- 5.3 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
Description
Impact
Mermaid v11.14.0 and earlier are vulnerable to a denial-of-service attack when rendering gantt charts, if they use the excludes attribute to exclude all dates.
Example:
gantt
excludes monday,tuesday,wednesday,thursday,friday,saturday,sunday
DoS :2025-01-01, 1d
mermaid.parse is unaffected, unless you then call the ganttDb.getTasks() (which is called when rendering a diagram).
Patches
This has been patched in:
- v11.15.0 (see faafb5d49106dd32c367f3882505f2dd625aa30e)
- v10.9.6 (see a59ea56174712ee5430dfd5bc877cb5151f501a6)
Workarounds
There are no workarounds available without updating to a newer version of mermaid.
CWEs
- CWE-835 · Loop with Unreachable Exit Condition ('Infinite Loop')
References
- https://github.com/mermaid-js/mermaid/security/advisories/GHSA-6m6c-36f7-fhxh ↗
- https://github.com/mermaid-js/mermaid/commit/a59ea56174712ee5430dfd5bc877cb5151f501a6 ↗
- https://github.com/mermaid-js/mermaid/commit/faafb5d49106dd32c367f3882505f2dd625aa30e ↗
- https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0 ↗
- https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2026-41150 ↗
- https://github.com/advisories/GHSA-6m6c-36f7-fhxh ↗