Keras
CVE-2026-1669
HIGH
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Remotely delivered malicious model but requires the user to load it (UI:R); unauthenticated (PR:N); pure file-read disclosure so C:H, I:N, A:N.
Primary rating from Vendor (google).
CVSS VectorVendor: google
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Lifecycle Timeline
11Blast Radius
ecosystem impact- 1 pypi packages depend on keras (1 direct, 0 indirect)
Ecosystem-wide dependent count for version 3.13.0.
DescriptionCVE.org
Arbitrary file read in the model loading mechanism (HDF5 integration) in Keras versions 3.0.0 through 3.13.1 on all supported platforms allows a remote attacker to read local files and disclose sensitive information via a crafted .keras model file utilizing HDF5 external dataset references.
AnalysisAI
Arbitrary local file disclosure in Keras 3.0.0 through 3.13.1 allows a remote attacker to read sensitive files from a victim's system by tricking them into loading a malicious .keras model that abuses HDF5 external dataset references in the model-loading path. Exploitation requires the victim to open the attacker-supplied model (UI:P), but no authentication is needed; EPSS is very low (0.01%, 2nd percentile) and there is no public exploit identified at time of analysis. A vendor patch is available.
Technical ContextAI
Keras is a widely used high-level deep-learning API (the default front end for TensorFlow and usable with JAX/PyTorch). The .keras model format is a zip archive that can embed weights stored via HDF5 (the .h5/HDF5 hierarchical data format handled through h5py/libhdf5). HDF5 supports 'external dataset' references, where a dataset's raw bytes are stored in a separate file path declared inside the container; when Keras loads such a model it follows these references, and a crafted file can point them at arbitrary local paths so their contents are read back into the deserialized model. The root cause maps to CWE-73 (External Control of File Name or Path): the model loader trusts file/path references supplied inside untrusted model data instead of constraining reads to the archive.
RemediationAI
Upgrade Keras to a fixed release above 3.13.1 (Patch available per vendor advisory; the exact patched version is not stated in the provided data, so confirm the precise fixed version via the Google security-research advisory at https://github.com/google/security-research/security/advisories and the Red Hat tracker at https://access.redhat.com/security/cve/CVE-2026-1669 before deploying). Until patched, the most effective compensating control is to never load .keras/HDF5 models from untrusted or unverified sources and to treat shared model files as untrusted input; load suspect models only inside a sandboxed, network- and filesystem-isolated environment (e.g., a container with no access to sensitive paths) so any external dataset reference resolves to nothing of value, accepting the trade-off of added workflow friction. Where feasible, inspect/validate model archives for HDF5 external dataset references before loading and prefer the safe-loading paths recommended by the vendor advisory.
A arbitrary code injection vulnerability in TensorFlow's Keras framework (<2.13) allows attackers to execute arbitrary c
Path traversal in Keras archive extraction utilities prior to version 3.14.0 allows remote attackers to write files outs
Memory-exhaustion denial of service in Google Keras 3.0.0 through 3.13.0 lets a remote attacker crash the Python interpr
The Keras Model.load_model method can be exploited to achieve arbitrary code execution, even with safe_mode=True. Rated
The Keras Model.load_model method can be exploited to achieve arbitrary code execution, even with safe_mode=True. Rated
A safe mode bypass vulnerability in the `Model.load_model` method in Keras versions 3.0.0 through 3.10.0 allows an attac
An issue in keras 3.7.0 allows attackers to write arbitrary files to the user's machine via downloading a crafted tar fi
Same weakness CWE-73 – External Control of File Name or Path
View allSame technique Information Disclosure
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
GHSA-3m4q-jmj6-r34q