Skip to main content

Mermaid EUVDEUVD-2026-33325

| CVE-2026-41150 MEDIUM
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-05-11 https://github.com/mermaid-js/mermaid GHSA-6m6c-36f7-fhxh
5.3
CVSS 4.0 · Vendor: https://github.com/mermaid-js/mermaid
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker crafts Gantt diagram excluding all seven weekdays
  2. Delivery
    Submits diagram to Mermaid-rendering platform via content submission
  3. Exploit
    Platform calls mermaid render path, invoking ganttDb.getTasks()
  4. Execution
    fixTaskDates enters infinite loop seeking a non-excluded date
  5. Persist
    Rendering thread or browser tab hangs indefinitely
  6. Impact
    Service degradation or frozen UI for affected user or worker

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The vulnerability requires three concurrent conditions: (1) the target application uses the mermaid npm package at a vulnerable version (10.x < 10.9.6 or 11.0.0-alpha.1 through 11.14.0); (2) the application invokes the rendering path that calls ganttDb.getTasks() - mermaid.parse() alone is NOT sufficient; and (3) the attacker can supply or influence Mermaid diagram syntax that reaches the renderer, specifically a gantt block with an excludes directive that covers all seven weekday names or an equivalent all-encompassing combination. No authentication is required by the library itself - the authentication barrier depends entirely on what access controls the host application places on diagram submission. The DoS effect is scoped to the rendering thread or browser tab: it does not affect system availability beyond the rendering process. Deployments where diagram content is exclusively authored by trusted users, or where pre-render input validation rejects all-day-excluded gantt charts, are not exploitable.

Impact

The CVSS 4.0 score of 5.3 with vector AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L accurately characterizes the attack as network-reachable, low-complexity, and requiring only passive user interaction (a user or automated job rendering the diagram). Impact is bounded to availability at Low severity - this causes a hung rendering thread or frozen browser tab, not a crash of the underlying host or data exfiltration. EPSS of 0.04% (14th percentile) is very low, indicating minimal observed exploitation activity, consistent with the absence of a CISA KEV entry. However, the advisory itself contains a trivial three-line PoC, meaning the barrier to reproduction is near-zero. Real-world risk is asymmetric: negligible for deployments where diagram content is authored and controlled by trusted users, but meaningful for any SaaS or collaboration platform that renders untrusted user-supplied Mermaid syntax without pre-render sanitization. There is no CVSS 3.x vector provided in the input - the 4.0 vector is the authoritative scoring source.

Exploit ScenarioDerived

An attacker with posting access to a platform that renders user-supplied Mermaid diagrams - such as a GitHub wiki, GitLab issue, Confluence page, or a custom documentation tool - submits a Gantt chart block containing 'excludes monday,tuesday,wednesday,thursday,friday,saturday,sunday'. The minimal PoC published in the advisory is sufficient. When any user or automated pipeline renders the page, the Mermaid rendering engine calls ganttDb.getTasks(), enters fixTaskDates, and spins indefinitely with no CPU yield, hanging the browser tab on client-side platforms or consuming a server worker thread until the process is killed or times out.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 23, 2026

Infinite-loop denial-of-service in Mermaid's Gantt chart renderer affects npm/mermaid v11.14.0 and earlier (including 11.x alpha/beta) and all 10.x releases prior to v10.9.6, allowing any party who can supply diagram syntax to a rendering pipeline to permanently hang the rendering thread or browser tab. The attack surface is specifically platforms that accept user-supplied Mermaid content and call the render path - wikis, issue trackers, documentation tools, and SaaS products embedding Mermaid. No public exploit is independently confirmed beyond the minimal reproducer included in the advisory itself; EPSS sits at 0.04% (14th percentile), consistent with no observed mass exploitation and no CISA KEV listing.

RemediationAI

Upgrade to mermaid v11.15.0 (11.x branch) or v10.9.6 (10.x branch); both are vendor-confirmed patched releases available on npm. The underlying fix is present in commits faafb5d49106dd32c367f3882505f2dd625aa30e (v11.15.0) and a59ea56174712ee5430dfd5bc877cb5151f501a6 (v10.9.6). The vendor explicitly states no workaround exists without upgrading. For teams unable to upgrade immediately, a compensating control is to validate the excludes field on the server side before passing diagram content to the renderer - specifically, reject any Gantt diagram where the union of excluded values covers all seven days (monday, tuesday, wednesday, thursday, friday, saturday, sunday, weekends). This validation is imperfect because it does not cover exhaustive specific-date exclusions and adds custom parsing logic that must be maintained, so it is strictly inferior to patching. Server-side rendering pipelines can additionally wrap the render call in a timeout and kill the worker on expiry, limiting the blast radius to a single request rather than an entire worker process.

Affected VersionsENISA

mermaid < 10.9.6
mermaid 11.0.0-alpha.1, < 11.15.0

Affected Packages

npm mermaid fix: 10.9.6, 11.15.0
euvd mermaid_11_0_0_alpha_1 fix: 11.15.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Mermaid (pkg:npm/mermaid) is a JavaScript diagramming library that generates diagrams from text syntax, widely embedded in platforms such as GitHub, GitLab, Confluence, and Obsidian. The root cause is CWE-835 (Loop with Unreachable Exit Condition). The Gantt renderer's fixTaskDates function in ganttDb.js iterates a date forward until it lands on a day not listed in the excludes exclusion set. When all seven weekday names (monday through sunday) or equivalent combinations (e.g., 'weekends' plus individual weekdays) are listed in the excludes attribute, every candidate date is excluded and the loop has no reachable exit condition - it spins indefinitely. The vulnerability is latent in mermaid.parse() but only triggered when ganttDb.getTasks() is invoked, which occurs during diagram rendering. The patch (commits faafb5d and a59ea56 for v11.15.0 and v10.9.6 respectively) adds a hard cap of 10,000 iterations before throwing a descriptive error, converting the infinite loop into a bounded, catchable failure.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/mermaid-js/mermaid) PRIMARY 5.3 MEDIUM
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
vuln.today AI 4.3 MEDIUM

Network-delivered via crafted diagram content requiring no authentication (PR:N), but a user or automated job must render it (UI:R); only availability is affected, scoped to the rendering process (A:L, S:U).

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
SUSE MEDIUM
Red Hat 6.5 MEDIUM

Primary rating from Vendor (https://github.com/mermaid-js/mermaid).

CVSS VectorVendor: https://github.com/mermaid-js/mermaid

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
Low

Lifecycle Timeline

3
CVSS changed
May 29, 2026 - 15:22 NVD
5.3 (MEDIUM)
CVE Published
May 11, 2026 - 19:36 cve.org
MEDIUM 5.3
CVE Published
May 11, 2026 - 19:36 nvd
MEDIUM

DescriptionCVE.org

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:

Workarounds

There are no workarounds available without updating to a newer version of mermaid.

Threat Intelligence Overview

EPSS Score
0.0%
Top 86% exploitable
Prevalence
High
embedded in GitHub, GitLab, Confluence, Notion, VS Code, Obsidian
Threat Intel
1
1 source
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS GHSA Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
High

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Vendor StatusVendor

SUSE

Severity: Medium

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy