Lookup for vulnerable packages by Package URL.

GET /api/packages/791359?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "url": "http://public2.vulnerablecode.io/api/packages/791359?format=api",
    "purl": "pkg:npm/mermaid@11.2.0",
    "type": "npm",
    "namespace": "",
    "name": "mermaid",
    "version": "11.2.0",
    "qualifiers": {},
    "subpath": "",
    "is_vulnerable": true,
    "next_non_vulnerable_version": "11.10.0",
    "latest_non_vulnerable_version": "11.10.0",
    "affected_by_vulnerabilities": [
        {
            "url": "http://public2.vulnerablecode.io/api/vulnerabilities/29027?format=api",
            "vulnerability_id": "VCID-dmks-9n4b-vkh6",
            "summary": "Mermaid does not properly sanitize architecture diagram iconText leading to XSS\n### Summary\nIn the default configuration of mermaid 11.9.0, user supplied input for architecture diagram icons is passed to the d3 `html()` method, creating a sink for cross site scripting.\n\n### Details\nArchitecture diagram service `iconText` values are passed to the d3 `html()` method, allowing malicious users to inject arbitrary HTML and cause XSS when mermaid-js is used in it's default configuration. \n\nThe vulnerability lies here:\n\n```ts\nexport const drawServices = async function (\n  db: ArchitectureDB,\n  elem: D3Element,\n  services: ArchitectureService[]\n): Promise<number> {\n  for (const service of services) {\n    /** ... **/\n    } else if (service.iconText) {\n      bkgElem.html(\n        `<g>${await getIconSVG('blank', { height: iconSize, width: iconSize, fallbackPrefix: architectureIcons.prefix })}</g>`\n      );\n      const textElemContainer = bkgElem.append('g');\n      const fo = textElemContainer\n        .append('foreignObject')\n        .attr('width', iconSize)\n        .attr('height', iconSize);\n      const divElem = fo\n        .append('div')\n        .attr('class', 'node-icon-text')\n        .attr('style', `height: ${iconSize}px;`)\n        .append('div')\n        .html(service.iconText); // <- iconText passed into innerHTML\n       /** ... **/\n};\n};\n```\n\nThis issue was introduced with 734bde38777c9190a5a72e96421c83424442d4e4, around 15 months ago, which was released in [v11.1.0](https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4011.1.0).\n\n### PoC\nRender the following diagram and observe the modified DOM.\n\n```\narchitecture-beta\n    group api(cloud)[API]\n    service db \"<img src=x onerror=\\\"document.write(`xss on ${document.domain}`)\\\">\" [Database] in api\n```\n\nHere is a PoC on mermaid.live: https://mermaid.live/edit#pako:eNo9T8FOwzAM_ZXI4rBJpWrpRtuIISF24caZZdKyxOsiLUnlJjCo-u9kQ8wX-_n5-dkjKK8ROEhSRxNQhUh4v8cghWMpOvKxZ7I3M3XyUc83L-9v2z9qQPo0CpneMwFPxnZsILU6M--QyNNKCAHaq2jRhfyL0vLZ7jwMiWd3443Q3krjpt38Mv4sgG3WMsi9HHDLjLs4CwcZdGQ08EARM7BISZMgjJdLBIQjWhTAU6nxIOMpCBBuSrJeug_v7b8yPdMdgR_kaUgo9loGXBvZkbS3LqHTSK8-ugC8LMrrEuAjnIEvlnlVL9q6rZu6Lh-rRQbfwKuyyZuybcvqIaWiqKcMfq6uRd7Uy-kXhYFzcA\n\n### Impact\nXSS on all sites that use mermaid and render user supplied diagrams without further sanitization.\n\n### Remediation\nSanitize the value of `iconText` before passing it to `html()`.",
            "references": [
                {
                    "reference_url": "https://api.first.org/data/v1/epss?cve=CVE-2025-54880",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "0.00013",
                            "scoring_system": "epss",
                            "scoring_elements": "0.02318",
                            "published_at": "2026-05-05T12:55:00Z"
                        },
                        {
                            "value": "0.00013",
                            "scoring_system": "epss",
                            "scoring_elements": "0.0236",
                            "published_at": "2026-05-09T12:55:00Z"
                        },
                        {
                            "value": "0.00013",
                            "scoring_system": "epss",
                            "scoring_elements": "0.02322",
                            "published_at": "2026-05-07T12:55:00Z"
                        },
                        {
                            "value": "8e-05",
                            "scoring_system": "epss",
                            "scoring_elements": "0.0077",
                            "published_at": "2026-04-07T12:55:00Z"
                        },
                        {
                            "value": "8e-05",
                            "scoring_system": "epss",
                            "scoring_elements": "0.00771",
                            "published_at": "2026-04-02T12:55:00Z"
                        },
                        {
                            "value": "8e-05",
                            "scoring_system": "epss",
                            "scoring_elements": "0.00769",
                            "published_at": "2026-04-08T12:55:00Z"
                        },
                        {
                            "value": "8e-05",
                            "scoring_system": "epss",
                            "scoring_elements": "0.00761",
                            "published_at": "2026-04-09T12:55:00Z"
                        },
                        {
                            "value": "8e-05",
                            "scoring_system": "epss",
                            "scoring_elements": "0.00757",
                            "published_at": "2026-04-18T12:55:00Z"
                        },
                        {
                            "value": "8e-05",
                            "scoring_system": "epss",
                            "scoring_elements": "0.00751",
                            "published_at": "2026-04-12T12:55:00Z"
                        },
                        {
                            "value": "8e-05",
                            "scoring_system": "epss",
                            "scoring_elements": "0.00753",
                            "published_at": "2026-04-16T12:55:00Z"
                        },
                        {
                            "value": "8e-05",
                            "scoring_system": "epss",
                            "scoring_elements": "0.00802",
                            "published_at": "2026-04-21T12:55:00Z"
                        },
                        {
                            "value": "9e-05",
                            "scoring_system": "epss",
                            "scoring_elements": "0.00917",
                            "published_at": "2026-04-29T12:55:00Z"
                        },
                        {
                            "value": "9e-05",
                            "scoring_system": "epss",
                            "scoring_elements": "0.00923",
                            "published_at": "2026-04-26T12:55:00Z"
                        },
                        {
                            "value": "9e-05",
                            "scoring_system": "epss",
                            "scoring_elements": "0.00918",
                            "published_at": "2026-04-24T12:55:00Z"
                        }
                    ],
                    "url": "https://api.first.org/data/v1/epss?cve=CVE-2025-54880"
                },
                {
                    "reference_url": "https://github.com/mermaid-js/mermaid",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "5.1",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
                        },
                        {
                            "value": "MODERATE",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        }
                    ],
                    "url": "https://github.com/mermaid-js/mermaid"
                },
                {
                    "reference_url": "https://github.com/mermaid-js/mermaid/commit/2aa83302795183ea5c65caec3da1edd6cb4791fc",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "5.1",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
                        },
                        {
                            "value": "MODERATE",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        },
                        {
                            "value": "Track",
                            "scoring_system": "ssvc",
                            "scoring_elements": "SSVCv2/E:P/A:N/T:P/P:M/B:A/M:M/D:T/2025-08-19T17:09:29Z/"
                        }
                    ],
                    "url": "https://github.com/mermaid-js/mermaid/commit/2aa83302795183ea5c65caec3da1edd6cb4791fc"
                },
                {
                    "reference_url": "https://github.com/mermaid-js/mermaid/commit/734bde38777c9190a5a72e96421c83424442d4e4",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "5.1",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
                        },
                        {
                            "value": "MODERATE",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        },
                        {
                            "value": "Track",
                            "scoring_system": "ssvc",
                            "scoring_elements": "SSVCv2/E:P/A:N/T:P/P:M/B:A/M:M/D:T/2025-08-19T17:09:29Z/"
                        }
                    ],
                    "url": "https://github.com/mermaid-js/mermaid/commit/734bde38777c9190a5a72e96421c83424442d4e4"
                },
                {
                    "reference_url": "https://github.com/mermaid-js/mermaid/security/advisories/GHSA-8gwm-58g9-j8pw",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "MODERATE",
                            "scoring_system": "cvssv3.1_qr",
                            "scoring_elements": ""
                        },
                        {
                            "value": "5.1",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
                        },
                        {
                            "value": "MODERATE",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        },
                        {
                            "value": "Track",
                            "scoring_system": "ssvc",
                            "scoring_elements": "SSVCv2/E:P/A:N/T:P/P:M/B:A/M:M/D:T/2025-08-19T17:09:29Z/"
                        }
                    ],
                    "url": "https://github.com/mermaid-js/mermaid/security/advisories/GHSA-8gwm-58g9-j8pw"
                },
                {
                    "reference_url": "https://nvd.nist.gov/vuln/detail/CVE-2025-54880",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "5.1",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
                        },
                        {
                            "value": "MODERATE",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        }
                    ],
                    "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-54880"
                },
                {
                    "reference_url": "https://github.com/advisories/GHSA-8gwm-58g9-j8pw",
                    "reference_id": "GHSA-8gwm-58g9-j8pw",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "MODERATE",
                            "scoring_system": "cvssv3.1_qr",
                            "scoring_elements": ""
                        }
                    ],
                    "url": "https://github.com/advisories/GHSA-8gwm-58g9-j8pw"
                }
            ],
            "fixed_packages": [
                {
                    "url": "http://public2.vulnerablecode.io/api/packages/69629?format=api",
                    "purl": "pkg:npm/mermaid@11.10.0",
                    "is_vulnerable": false,
                    "affected_by_vulnerabilities": [],
                    "resource_url": "http://public2.vulnerablecode.io/packages/pkg:npm/mermaid@11.10.0"
                }
            ],
            "aliases": [
                "CVE-2025-54880",
                "GHSA-8gwm-58g9-j8pw"
            ],
            "risk_score": 3.1,
            "exploitability": "0.5",
            "weighted_severity": "6.2",
            "resource_url": "http://public2.vulnerablecode.io/vulnerabilities/VCID-dmks-9n4b-vkh6"
        },
        {
            "url": "http://public2.vulnerablecode.io/api/vulnerabilities/27374?format=api",
            "vulnerability_id": "VCID-q79q-8yzx-p3f6",
            "summary": "Mermaid improperly sanitizes sequence diagram labels leading to XSS\n### Summary\nIn the default configuration of mermaid 11.9.0, user supplied input for sequence diagram labels is passed to `innerHTML` during calculation of element size, causing XSS.\n\n### Details\nSequence diagram node labels with KaTeX delimiters are passed through `calculateMathMLDimensions`. This method passes the full label to `innerHTML` which allows allows malicious users to inject arbitrary HTML and cause XSS when mermaid-js is used in it's default configuration (with KaTeX support enabled). \n\nThe vulnerability lies here:\n\n```ts\nexport const calculateMathMLDimensions = async (text: string, config: MermaidConfig) => {\n  text = await renderKatex(text, config);\n  const divElem = document.createElement('div');\n  divElem.innerHTML = text; // XSS sink, text has not been sanitized.\n  divElem.id = 'katex-temp';\n  divElem.style.visibility = 'hidden';\n  divElem.style.position = 'absolute';\n  divElem.style.top = '0';\n  const body = document.querySelector('body');\n  body?.insertAdjacentElement('beforeend', divElem);\n  const dim = { width: divElem.clientWidth, height: divElem.clientHeight };\n  divElem.remove();\n  return dim;\n};\n```\n\nThe `calculateMathMLDimensions` method was introduced in 5c69e5fdb004a6d0a2abe97e23d26e223a059832 two years ago, which was released in [Mermaid 10.9.0](https://github.com/mermaid-js/mermaid/releases/tag/v10.9.0).\n\n### PoC\nRender the following diagram and observe the modified DOM.\n\n```\nsequenceDiagram\n    participant A as Alice<img src=\"x\" onerror=\"document.write(`xss on ${document.domain}`)\">$$\\\\text{Alice}$$\n    A->>John: Hello John, how are you?\n    Alice-)John: See you later!\n```\n\nHere is a PoC on mermaid.live: https://mermaid.live/edit#pako:eNpVUMtOwzAQ_BWzyoFKaRTyaFILiio4IK7ckA-1km1iKbaLY6spUf4dJ0AF68uOZ2dm7REqXSNQ6PHDoarwWfDGcMkUudaJGysqceLKkj3hPdl3osJ7IRvSm-qBwcCAaIXGaONRrSsnUdnobITF28PQ954lwXglai25UNNhxWAXBMyXxcGOi-3kL_5k79e73atuFSUv2HWazH1IWn0m3CC5aPf4b3p2WK--BW-4DJCOWzQ3TM0HQmiMqIFa4zAEicZv4iGMsw0D26JEBtS3NR656ywDpiYv869_11r-Ko12TQv0yLveI3eqfcjP111HUNVonrRTFuhdsVgAHWEAmuRxlG7SuEzKMi-yJAnhAjTLIk_EcbFJtuk2y9MphM8lM47KIp--AOZghtU\n\n### Impact\nXSS on all sites that use mermaid and render user supplied diagrams without further sanitization.\n\n### Remediation\nThe value of the `text` argument for the `calculateMathMLDimensions` method needs to be sanitized before getting passed on to `innerHTML`.",
            "references": [
                {
                    "reference_url": "https://api.first.org/data/v1/epss?cve=CVE-2025-54881",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "0.00014",
                            "scoring_system": "epss",
                            "scoring_elements": "0.02509",
                            "published_at": "2026-04-26T12:55:00Z"
                        },
                        {
                            "value": "0.00015",
                            "scoring_system": "epss",
                            "scoring_elements": "0.03387",
                            "published_at": "2026-04-08T12:55:00Z"
                        },
                        {
                            "value": "0.00015",
                            "scoring_system": "epss",
                            "scoring_elements": "0.03337",
                            "published_at": "2026-04-12T12:55:00Z"
                        },
                        {
                            "value": "0.00015",
                            "scoring_system": "epss",
                            "scoring_elements": "0.03366",
                            "published_at": "2026-04-11T12:55:00Z"
                        },
                        {
                            "value": "0.00015",
                            "scoring_system": "epss",
                            "scoring_elements": "0.03367",
                            "published_at": "2026-04-04T12:55:00Z"
                        },
                        {
                            "value": "0.00015",
                            "scoring_system": "epss",
                            "scoring_elements": "0.03408",
                            "published_at": "2026-04-09T12:55:00Z"
                        },
                        {
                            "value": "0.00015",
                            "scoring_system": "epss",
                            "scoring_elements": "0.03382",
                            "published_at": "2026-04-07T12:55:00Z"
                        },
                        {
                            "value": "0.00015",
                            "scoring_system": "epss",
                            "scoring_elements": "0.03418",
                            "published_at": "2026-04-21T12:55:00Z"
                        },
                        {
                            "value": "0.00015",
                            "scoring_system": "epss",
                            "scoring_elements": "0.03301",
                            "published_at": "2026-04-18T12:55:00Z"
                        },
                        {
                            "value": "0.00015",
                            "scoring_system": "epss",
                            "scoring_elements": "0.03291",
                            "published_at": "2026-04-16T12:55:00Z"
                        },
                        {
                            "value": "0.00015",
                            "scoring_system": "epss",
                            "scoring_elements": "0.03355",
                            "published_at": "2026-04-02T12:55:00Z"
                        },
                        {
                            "value": "0.00015",
                            "scoring_system": "epss",
                            "scoring_elements": "0.03314",
                            "published_at": "2026-04-13T12:55:00Z"
                        },
                        {
                            "value": "0.00017",
                            "scoring_system": "epss",
                            "scoring_elements": "0.04122",
                            "published_at": "2026-04-29T12:55:00Z"
                        },
                        {
                            "value": "0.00017",
                            "scoring_system": "epss",
                            "scoring_elements": "0.0407",
                            "published_at": "2026-04-24T12:55:00Z"
                        },
                        {
                            "value": "0.00022",
                            "scoring_system": "epss",
                            "scoring_elements": "0.06203",
                            "published_at": "2026-05-07T12:55:00Z"
                        },
                        {
                            "value": "0.00022",
                            "scoring_system": "epss",
                            "scoring_elements": "0.06103",
                            "published_at": "2026-05-05T12:55:00Z"
                        },
                        {
                            "value": "0.00022",
                            "scoring_system": "epss",
                            "scoring_elements": "0.06281",
                            "published_at": "2026-05-09T12:55:00Z"
                        }
                    ],
                    "url": "https://api.first.org/data/v1/epss?cve=CVE-2025-54881"
                },
                {
                    "reference_url": "https://github.com/mermaid-js/mermaid",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "5.3",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
                        },
                        {
                            "value": "MODERATE",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        }
                    ],
                    "url": "https://github.com/mermaid-js/mermaid"
                },
                {
                    "reference_url": "https://github.com/mermaid-js/mermaid/commit/5c69e5fdb004a6d0a2abe97e23d26e223a059832",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "5.3",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
                        },
                        {
                            "value": "MODERATE",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        },
                        {
                            "value": "Track",
                            "scoring_system": "ssvc",
                            "scoring_elements": "SSVCv2/E:P/A:Y/T:P/P:M/B:A/M:M/D:T/2025-08-19T18:10:57Z/"
                        }
                    ],
                    "url": "https://github.com/mermaid-js/mermaid/commit/5c69e5fdb004a6d0a2abe97e23d26e223a059832"
                },
                {
                    "reference_url": "https://github.com/mermaid-js/mermaid/commit/685516a85ec1df64cefd4fd15f26533be87d458e",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "5.3",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
                        },
                        {
                            "value": "MODERATE",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        },
                        {
                            "value": "Track",
                            "scoring_system": "ssvc",
                            "scoring_elements": "SSVCv2/E:P/A:Y/T:P/P:M/B:A/M:M/D:T/2025-08-19T18:10:57Z/"
                        }
                    ],
                    "url": "https://github.com/mermaid-js/mermaid/commit/685516a85ec1df64cefd4fd15f26533be87d458e"
                },
                {
                    "reference_url": "https://github.com/mermaid-js/mermaid/security/advisories/GHSA-7rqq-prvp-x9jh",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "MODERATE",
                            "scoring_system": "cvssv3.1_qr",
                            "scoring_elements": ""
                        },
                        {
                            "value": "5.3",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
                        },
                        {
                            "value": "MODERATE",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        },
                        {
                            "value": "Track",
                            "scoring_system": "ssvc",
                            "scoring_elements": "SSVCv2/E:P/A:Y/T:P/P:M/B:A/M:M/D:T/2025-08-19T18:10:57Z/"
                        }
                    ],
                    "url": "https://github.com/mermaid-js/mermaid/security/advisories/GHSA-7rqq-prvp-x9jh"
                },
                {
                    "reference_url": "https://nvd.nist.gov/vuln/detail/CVE-2025-54881",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "5.3",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
                        },
                        {
                            "value": "MODERATE",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        }
                    ],
                    "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-54881"
                },
                {
                    "reference_url": "https://github.com/advisories/GHSA-7rqq-prvp-x9jh",
                    "reference_id": "GHSA-7rqq-prvp-x9jh",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "MODERATE",
                            "scoring_system": "cvssv3.1_qr",
                            "scoring_elements": ""
                        }
                    ],
                    "url": "https://github.com/advisories/GHSA-7rqq-prvp-x9jh"
                }
            ],
            "fixed_packages": [
                {
                    "url": "http://public2.vulnerablecode.io/api/packages/69629?format=api",
                    "purl": "pkg:npm/mermaid@11.10.0",
                    "is_vulnerable": false,
                    "affected_by_vulnerabilities": [],
                    "resource_url": "http://public2.vulnerablecode.io/packages/pkg:npm/mermaid@11.10.0"
                }
            ],
            "aliases": [
                "CVE-2025-54881",
                "GHSA-7rqq-prvp-x9jh"
            ],
            "risk_score": 3.1,
            "exploitability": "0.5",
            "weighted_severity": "6.2",
            "resource_url": "http://public2.vulnerablecode.io/vulnerabilities/VCID-q79q-8yzx-p3f6"
        }
    ],
    "fixing_vulnerabilities": [],
    "risk_score": "3.1",
    "resource_url": "http://public2.vulnerablecode.io/packages/pkg:npm/mermaid@11.2.0"
}