Skip to content
Heist/ feed
Back to feed
Low

node-mermaid — security advisory

Type: advisorySources: OSVAdvisory ID: UBUNTU-CVE-2026-71438

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.

Products
node-mermaid
Affected versions
8.13.3+ds+~cs26.13.21-1, 8.13.3+ds+~cs26.13.21-2, 8.13.8+~cs10.4.16-1, 8.7.0+ds+~cs27.17.17-3, 9.2.2+~2.0.0-1, 9.2.2+~2.0.0-2
Fixed versions
Not specified
CVEs
CVE-2026-71438
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 03:14 UTC · Revision 1

Source evidence

UBUNTU-CVE-2026-71438

core-osv · Original source

Published 6 Aug 2026, 22:18 UTC

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.

osv:UBUNTU-CVE-2026-71438

node-mermaid

Fixed versions: Not specified

node-mermaid

Fixed versions: Not specified

Complete source record
{
  "id": "eac6f4a2b661a63f3559d193a495537974add9e2c1e2ed7960709828cc834d10",
  "url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-71438",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "UBUNTU-CVE-2026-71438",
    "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.",
    "evidence": "osv:UBUNTU-CVE-2026-71438",
    "products": [
      {
        "name": {
          "value": "node-mermaid",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "8.7.0+ds+~cs27.17.17-3",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.13.3+ds+~cs26.13.21-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.13.3+ds+~cs26.13.21-2",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.13.8+~cs10.4.16-1",
            "evidence": "/affected/0/versions"
          }
        ]
      },
      {
        "name": {
          "value": "node-mermaid",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "9.2.2+~2.0.0-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "9.2.2+~2.0.0-2",
            "evidence": "/affected/1/versions"
          }
        ]
      }
    ],
    "severity": "low",
    "structured": {
      "id": "UBUNTU-CVE-2026-71438",
      "aliases": [
        "UBUNTU-CVE-2026-71438"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:A/VC:N/VI:L/VA:L/SC:H/SI:H/SA:H"
        },
        {
          "type": "Ubuntu",
          "score": "medium"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "node-mermaid",
            "purl": "pkg:deb/ubuntu/node-mermaid?arch=source&distro=jammy",
            "ecosystem": "Ubuntu:22.04:LTS"
          },
          "versions": [
            "8.7.0+ds+~cs27.17.17-3",
            "8.13.3+ds+~cs26.13.21-1",
            "8.13.3+ds+~cs26.13.21-2",
            "8.13.8+~cs10.4.16-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71438.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "node-mermaid",
                "binary_version": "8.13.8+~cs10.4.16-1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "node-mermaid",
            "purl": "pkg:deb/ubuntu/node-mermaid?arch=source&distro=stonking",
            "ecosystem": "Ubuntu:26.10"
          },
          "versions": [
            "9.2.2+~2.0.0-1",
            "9.2.2+~2.0.0-2"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71438.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "node-mermaid",
                "binary_version": "9.2.2+~2.0.0-2"
              }
            ]
          }
        }
      ],
      "modified": "2026-10-17T13:00:45.454949302Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-71438"
      ],
      "references": [
        "https://ubuntu.com/security/CVE-2026-71438",
        "https://www.cve.org/CVERecord?id=CVE-2026-71438",
        "https://github.com/mermaid-js/mermaid/security/advisories/GHSA-c4c3-pg64-4m4v",
        "https://github.com/mermaid-js/mermaid/commit/2cd6dcf735533b323507e3e889ffdea870540b43",
        "https://github.com/mermaid-js/mermaid/commit/c34b07a0815842327e70794d69b0c8c5a1e2a956",
        "https://github.com/mermaid-js/mermaid/pull/8022",
        "https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.16.1",
        "https://github.com/mermaid-js/mermaid/releases/tag/v10.9.8"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-71438",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 360821,
  "published_at": "2026-08-06T22:18:00+00:00"
}