{"url":"http://public2.vulnerablecode.io/api/packages/47088?format=json","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=json","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=json","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=json","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=json","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=json","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"}