2026-05-29 13:54CVE-2026-41150GitHub_M
PUBLISHED5.2CWE-835

Mermaid Gantt Charts are vulnerable to an Infinite Loop DoS

Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams and charts. Prior to 10.9.6 and 11.15.0, there is a denial-of-service attack when rendering gantt charts, if they use the excludes attribute to exclude all dates. mermaid.parse is unaffected, unless you then call the ganttDb.getTasks() (which is called when rendering a diagram). This vulnerability is fixed in 10.9.6 and 11.15.0.

Problem type

Affected products

mermaid-js

mermaid

>= 11.0.0-alpha.1, < 11.15.0 - AFFECTED

< 10.9.6 - AFFECTED

References

GitHub Security Advisories

GHSA-6m6c-36f7-fhxh

Mermaid Gantt Charts are vulnerable to an Infinite Loop DoS

https://github.com/advisories/GHSA-6m6c-36f7-fhxh

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.

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-41150
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-41150",
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "dateUpdated": "2026-05-29T13:54:52.157Z",
    "dateReserved": "2026-04-17T12:59:15.740Z",
    "datePublished": "2026-05-29T13:54:52.157Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M",
        "dateUpdated": "2026-05-29T13:54:52.157Z"
      },
      "title": "Mermaid Gantt Charts are vulnerable to an Infinite Loop DoS",
      "descriptions": [
        {
          "lang": "en",
          "value": "Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams and charts. Prior to 10.9.6 and 11.15.0, there is a denial-of-service attack when rendering gantt charts, if they use the excludes attribute to exclude all dates. mermaid.parse is unaffected, unless you then call the ganttDb.getTasks() (which is called when rendering a diagram). This vulnerability is fixed in 10.9.6 and 11.15.0."
        }
      ],
      "affected": [
        {
          "vendor": "mermaid-js",
          "product": "mermaid",
          "versions": [
            {
              "version": ">= 11.0.0-alpha.1, < 11.15.0",
              "status": "affected"
            },
            {
              "version": "< 10.9.6",
              "status": "affected"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')",
              "cweId": "CWE-835",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://github.com/mermaid-js/mermaid/security/advisories/GHSA-6m6c-36f7-fhxh",
          "name": "https://github.com/mermaid-js/mermaid/security/advisories/GHSA-6m6c-36f7-fhxh",
          "tags": [
            "x_refsource_CONFIRM"
          ]
        },
        {
          "url": "https://github.com/mermaid-js/mermaid/commit/a59ea56174712ee5430dfd5bc877cb5151f501a6",
          "name": "https://github.com/mermaid-js/mermaid/commit/a59ea56174712ee5430dfd5bc877cb5151f501a6",
          "tags": [
            "x_refsource_MISC"
          ]
        },
        {
          "url": "https://github.com/mermaid-js/mermaid/commit/faafb5d49106dd32c367f3882505f2dd625aa30e",
          "name": "https://github.com/mermaid-js/mermaid/commit/faafb5d49106dd32c367f3882505f2dd625aa30e",
          "tags": [
            "x_refsource_MISC"
          ]
        },
        {
          "url": "https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0",
          "name": "https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.15.0",
          "tags": [
            "x_refsource_MISC"
          ]
        },
        {
          "url": "https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6",
          "name": "https://github.com/mermaid-js/mermaid/releases/tag/v10.9.6",
          "tags": [
            "x_refsource_MISC"
          ]
        }
      ],
      "metrics": [
        {}
      ]
    }
  }
}