Package Instance
Lookup for vulnerable packages by Package URL.
GET /api/packages/47088?format=api
{ "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" }