Lookup for vulnerable packages by Package URL.

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

{
    "url": "http://public2.vulnerablecode.io/api/packages/47088?format=api",
    "purl": "pkg:pypi/keras@3.12.1",
    "type": "pypi",
    "namespace": "",
    "name": "keras",
    "version": "3.12.1",
    "qualifiers": {},
    "subpath": "",
    "is_vulnerable": true,
    "next_non_vulnerable_version": "3.13.2",
    "latest_non_vulnerable_version": "3.13.2",
    "affected_by_vulnerabilities": [
        {
            "url": "http://public2.vulnerablecode.io/api/vulnerabilities/37184?format=api",
            "vulnerability_id": "VCID-1xj9-1kng-8ua4",
            "summary": "Allocation of Resources Without Limits or Throttling in the HDF5 weight loading component in Google Keras 3.0.0 through 3.13.0 on all platforms allows a remote attacker to cause a Denial of Service (DoS) through memory exhaustion and a crash of the Python interpreter via a crafted .keras archive containing a valid model.weights.h5 file whose dataset declares an extremely large shape.",
            "references": [
                {
                    "reference_url": "https://github.com/keras-team/keras/pull/21880",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [
                        {
                            "value": "7.5",
                            "scoring_system": "cvssv3.1",
                            "scoring_elements": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
                        }
                    ],
                    "url": "https://github.com/keras-team/keras/pull/21880"
                }
            ],
            "fixed_packages": [
                {
                    "url": "http://public2.vulnerablecode.io/api/packages/47091?format=api",
                    "purl": "pkg:pypi/keras@3.13.1",
                    "is_vulnerable": true,
                    "affected_by_vulnerabilities": [
                        {
                            "vulnerability": "VCID-ptyp-n4df-aqf1"
                        }
                    ],
                    "resource_url": "http://public2.vulnerablecode.io/packages/pkg:pypi/keras@3.13.1"
                }
            ],
            "aliases": [
                "CVE-2026-0897",
                "PYSEC-2026-73"
            ],
            "risk_score": null,
            "exploitability": null,
            "weighted_severity": null,
            "resource_url": "http://public2.vulnerablecode.io/vulnerabilities/VCID-1xj9-1kng-8ua4"
        }
    ],
    "fixing_vulnerabilities": [
        {
            "url": "http://public2.vulnerablecode.io/api/vulnerabilities/50212?format=api",
            "vulnerability_id": "VCID-zsjb-zbnj-z3d8",
            "summary": "Keras has a Local File Disclosure via HDF5 External Storage During Keras Weight Loading\nTensorFlow / Keras continues to honor HDF5 “external storage” and `ExternalLink` features when loading weights. A malicious `.weights.h5` (or a `.keras` archive embedding such weights) can direct `load_weights()` to read from an arbitrary readable filesystem path. The bytes pulled from that path populate model tensors and become observable through inference or subsequent re-save operations. Keras “safe mode” only guards object deserialization and does not cover weight I/O, so this behaviour persists even with safe mode enabled. The issue is confirmed on the latest publicly released stack (`tensorflow 2.20.0`, `keras 3.11.3`, `h5py 3.15.1`, `numpy 2.3.4`).",
            "references": [
                {
                    "reference_url": "https://github.com/keras-team/keras",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [],
                    "url": "https://github.com/keras-team/keras"
                },
                {
                    "reference_url": "https://github.com/keras-team/keras/commit/8a37f9dadd8e23fa4ee3f537eeb6413e75d12553",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [],
                    "url": "https://github.com/keras-team/keras/commit/8a37f9dadd8e23fa4ee3f537eeb6413e75d12553"
                },
                {
                    "reference_url": "https://github.com/keras-team/keras/pull/22057",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [],
                    "url": "https://github.com/keras-team/keras/pull/22057"
                },
                {
                    "reference_url": "https://github.com/keras-team/keras/releases/tag/v3.12.1",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [],
                    "url": "https://github.com/keras-team/keras/releases/tag/v3.12.1"
                },
                {
                    "reference_url": "https://github.com/keras-team/keras/releases/tag/v3.13.2",
                    "reference_id": "",
                    "reference_type": "",
                    "scores": [],
                    "url": "https://github.com/keras-team/keras/releases/tag/v3.13.2"
                },
                {
                    "reference_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-1669",
                    "reference_id": "CVE-2026-1669",
                    "reference_type": "",
                    "scores": [],
                    "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-1669"
                },
                {
                    "reference_url": "https://github.com/advisories/GHSA-3m4q-jmj6-r34q",
                    "reference_id": "GHSA-3m4q-jmj6-r34q",
                    "reference_type": "",
                    "scores": [],
                    "url": "https://github.com/advisories/GHSA-3m4q-jmj6-r34q"
                },
                {
                    "reference_url": "https://github.com/keras-team/keras/security/advisories/GHSA-3m4q-jmj6-r34q",
                    "reference_id": "GHSA-3m4q-jmj6-r34q",
                    "reference_type": "",
                    "scores": [],
                    "url": "https://github.com/keras-team/keras/security/advisories/GHSA-3m4q-jmj6-r34q"
                }
            ],
            "fixed_packages": [
                {
                    "url": "http://public2.vulnerablecode.io/api/packages/47088?format=api",
                    "purl": "pkg:pypi/keras@3.12.1",
                    "is_vulnerable": true,
                    "affected_by_vulnerabilities": [
                        {
                            "vulnerability": "VCID-1xj9-1kng-8ua4"
                        }
                    ],
                    "resource_url": "http://public2.vulnerablecode.io/packages/pkg:pypi/keras@3.12.1"
                },
                {
                    "url": "http://public2.vulnerablecode.io/api/packages/74109?format=api",
                    "purl": "pkg:pypi/keras@3.13.2",
                    "is_vulnerable": false,
                    "affected_by_vulnerabilities": [],
                    "resource_url": "http://public2.vulnerablecode.io/packages/pkg:pypi/keras@3.13.2"
                }
            ],
            "aliases": [
                "CVE-2026-1669",
                "GHSA-3m4q-jmj6-r34q"
            ],
            "risk_score": null,
            "exploitability": null,
            "weighted_severity": null,
            "resource_url": "http://public2.vulnerablecode.io/vulnerabilities/VCID-zsjb-zbnj-z3d8"
        }
    ],
    "risk_score": null,
    "resource_url": "http://public2.vulnerablecode.io/packages/pkg:pypi/keras@3.12.1"
}