Lookup for vulnerable packages by Package URL.

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

{
    "url": "http://public2.vulnerablecode.io/api/packages/975831?format=api",
    "purl": "pkg:npm/%40opennextjs/cloudflare@1.5.0",
    "type": "npm",
    "namespace": "@opennextjs",
    "name": "cloudflare",
    "version": "1.5.0",
    "qualifiers": {},
    "subpath": "",
    "is_vulnerable": true,
    "next_non_vulnerable_version": "1.17.1",
    "latest_non_vulnerable_version": "1.17.1",
    "affected_by_vulnerabilities": [
        {
            "url": "http://public2.vulnerablecode.io/api/vulnerabilities/50702?format=api",
            "vulnerability_id": "VCID-yh9z-bz2t-fyf6",
            "summary": "opennextjs-cloudflare has SSRF vulnerability via /cdn-cgi/ path normalization bypass\nA Server-Side Request Forgery (SSRF) vulnerability was identified in the @opennextjs/cloudflare package, resulting from a path normalization bypass in the /cdn-cgi/image/ handler.\n\nThe @opennextjs/cloudflare worker template includes a /cdn-cgi/image/ handler intended for development use only. In production, Cloudflare's edge intercepts /cdn-cgi/image/ requests before they reach the Worker. However, by substituting a backslash for a forward slash (/cdn-cgi\\image/ instead of /cdn-cgi/image/), an attacker can bypass edge interception and have the request reach the Worker directly. The JavaScript URL class then normalizes the backslash to a forward slash, causing the request to match the handler and trigger an unvalidated fetch of arbitrary remote URLs.\n\nFor example: https://victim-site.com/cdn-cgi\\image/aaaa/https://attacker.com\n\nIn this example, attacker-controlled content from attacker.com is served through the victim site's domain (victim-site.com) violating the same-origin policy and potentially misleading users or other services.\n\nNote: This bypass only works via HTTP clients that preserve backslashes in paths (e.g., curl --path-as-is). Browsers normalize backslashes to forward slashes before sending requests.\n\nAdditionally, Cloudflare Workers with Assets and Cloudflare Pages  suffer from a similar vulnerability. Assets stored under /cdn-cgi/ paths are not publicly accessible under normal conditions. However, using the same backslash bypass (/cdn-cgi\\... instead of /cdn-cgi/...), these assets become publicly accessible. This could be used to retrieve private data. For example, Open Next projects store incremental cache data under /cdn-cgi/_next_cache, which could be exposed via this bypass.",
            "references": [
                {
                    "reference_url": "https://api.first.org/data/v1/epss?cve=CVE-2026-3125",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "0.00012",
                            "scoring_system": "epss",
                            "scoring_elements": "0.01939",
                            "published_at": "2026-06-06T12:55:00Z"
                        },
                        {
                            "value": "0.00012",
                            "scoring_system": "epss",
                            "scoring_elements": "0.0191",
                            "published_at": "2026-06-09T12:55:00Z"
                        },
                        {
                            "value": "0.00012",
                            "scoring_system": "epss",
                            "scoring_elements": "0.01917",
                            "published_at": "2026-06-08T12:55:00Z"
                        },
                        {
                            "value": "0.00012",
                            "scoring_system": "epss",
                            "scoring_elements": "0.0193",
                            "published_at": "2026-06-07T12:55:00Z"
                        },
                        {
                            "value": "0.00012",
                            "scoring_system": "epss",
                            "scoring_elements": "0.01933",
                            "published_at": "2026-06-05T12:55:00Z"
                        }
                    ],
                    "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-3125"
                },
                {
                    "reference_url": "https://github.com/opennextjs/opennextjs-cloudflare",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "7.7",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N"
                        },
                        {
                            "value": "HIGH",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        }
                    ],
                    "url": "https://github.com/opennextjs/opennextjs-cloudflare"
                },
                {
                    "reference_url": "https://github.com/opennextjs/opennextjs-cloudflare/commit/f5bd138fd3c77e02f2aa4b9c76d55681e59e98b4",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "7.7",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N"
                        },
                        {
                            "value": "HIGH",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        }
                    ],
                    "url": "https://github.com/opennextjs/opennextjs-cloudflare/commit/f5bd138fd3c77e02f2aa4b9c76d55681e59e98b4"
                },
                {
                    "reference_url": "https://github.com/opennextjs/opennextjs-cloudflare/pull/1147",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "7.7",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N"
                        },
                        {
                            "value": "HIGH",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        },
                        {
                            "value": "Track",
                            "scoring_system": "ssvc",
                            "scoring_elements": "SSVCv2/E:N/A:Y/T:P/P:M/B:A/M:M/D:T/2026-03-04T18:58:41Z/"
                        }
                    ],
                    "url": "https://github.com/opennextjs/opennextjs-cloudflare/pull/1147"
                },
                {
                    "reference_url": "https://www.cve.org/cverecord?id=CVE-2025-6087",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "7.7",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N"
                        },
                        {
                            "value": "HIGH",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        },
                        {
                            "value": "Track",
                            "scoring_system": "ssvc",
                            "scoring_elements": "SSVCv2/E:N/A:Y/T:P/P:M/B:A/M:M/D:T/2026-03-04T18:58:41Z/"
                        }
                    ],
                    "url": "https://www.cve.org/cverecord?id=CVE-2025-6087"
                },
                {
                    "reference_url": "https://www.npmjs.com/package/@opennextjs/cloudflare/v/1.17.1",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "7.7",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N"
                        },
                        {
                            "value": "HIGH",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        },
                        {
                            "value": "Track",
                            "scoring_system": "ssvc",
                            "scoring_elements": "SSVCv2/E:N/A:Y/T:P/P:M/B:A/M:M/D:T/2026-03-04T18:58:41Z/"
                        }
                    ],
                    "url": "https://www.npmjs.com/package/@opennextjs/cloudflare/v/1.17.1"
                },
                {
                    "reference_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-3125",
                    "reference_id": "CVE-2026-3125",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "7.7",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N"
                        },
                        {
                            "value": "HIGH",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        }
                    ],
                    "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-3125"
                },
                {
                    "reference_url": "https://github.com/advisories/GHSA-c7mq-gh6q-6q7c",
                    "reference_id": "GHSA-c7mq-gh6q-6q7c",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "HIGH",
                            "scoring_system": "cvssv3.1_qr",
                            "scoring_elements": ""
                        }
                    ],
                    "url": "https://github.com/advisories/GHSA-c7mq-gh6q-6q7c"
                },
                {
                    "reference_url": "https://github.com/opennextjs/opennextjs-cloudflare/security/advisories/GHSA-c7mq-gh6q-6q7c",
                    "reference_id": "GHSA-c7mq-gh6q-6q7c",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "HIGH",
                            "scoring_system": "cvssv3.1_qr",
                            "scoring_elements": ""
                        },
                        {
                            "value": "7.7",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N"
                        },
                        {
                            "value": "HIGH",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        }
                    ],
                    "url": "https://github.com/opennextjs/opennextjs-cloudflare/security/advisories/GHSA-c7mq-gh6q-6q7c"
                },
                {
                    "reference_url": "https://github.com/advisories/GHSA-rvpw-p7vw-wj3m",
                    "reference_id": "GHSA-rvpw-p7vw-wj3m",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "7.7",
                            "scoring_system": "cvssv4",
                            "scoring_elements": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N"
                        },
                        {
                            "value": "HIGH",
                            "scoring_system": "generic_textual",
                            "scoring_elements": ""
                        },
                        {
                            "value": "Track",
                            "scoring_system": "ssvc",
                            "scoring_elements": "SSVCv2/E:N/A:Y/T:P/P:M/B:A/M:M/D:T/2026-03-04T18:58:41Z/"
                        }
                    ],
                    "url": "https://github.com/advisories/GHSA-rvpw-p7vw-wj3m"
                }
            ],
            "fixed_packages": [
                {
                    "url": "http://public2.vulnerablecode.io/api/packages/74473?format=api",
                    "purl": "pkg:npm/%40opennextjs/cloudflare@1.17.1",
                    "is_vulnerable": false,
                    "affected_by_vulnerabilities": [],
                    "resource_url": "http://public2.vulnerablecode.io/packages/pkg:npm/%2540opennextjs/cloudflare@1.17.1"
                }
            ],
            "aliases": [
                "CVE-2026-3125",
                "GHSA-c7mq-gh6q-6q7c"
            ],
            "risk_score": 4.0,
            "exploitability": "0.5",
            "weighted_severity": "8.0",
            "resource_url": "http://public2.vulnerablecode.io/vulnerabilities/VCID-yh9z-bz2t-fyf6"
        }
    ],
    "fixing_vulnerabilities": [],
    "risk_score": "4.0",
    "resource_url": "http://public2.vulnerablecode.io/packages/pkg:npm/%2540opennextjs/cloudflare@1.5.0"
}