Skip to main content

Keras CVE-2026-1669

HIGH
External Control of File Name or Path (CWE-73)
2026-02-11 cve-coordination@google.com GHSA-3m4q-jmj6-r34q
7.1
CVSS 4.0 · Vendor: google
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft .keras model with HDF5 external dataset reference
  2. Delivery
    Deliver model via hub or direct share
  3. Exploit
    Victim loads malicious model in Keras
  4. Execution
    Loader resolves reference to local path
  5. Persist
    Targeted file contents read into model
  6. Impact
    Sensitive data disclosed to attacker

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File name/path control
Exploitation Conditions

Exploitation requires the victim to load an attacker-crafted .keras model file (UI:P - user interaction is the key limiting factor) whose embedded HDF5 weights use external dataset references to point at arbitrary local file paths; the affected feature is the Keras model-loading/HDF5 integration in versions 3.0.0-3.13.1. No authentication or prior access to the target is required (PR:N), and the attack works on default configurations on all supported platforms, but it cannot fire passively - the user must actively open/deserialize the malicious model, and the attacker must know or guess the absolute/relative path of the file they wish to read. Impact is limited to disclosure of files readable by the process running Keras.

Impact

Signals are consistent and point to a moderate, opportunistic risk rather than an urgent priority. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P, VC:H/VI:L/VA:N) and base score 7.1 describe an unauthenticated, low-complexity attack with high confidentiality impact but gated by required user interaction - the victim must load the malicious model. EPSS is very low (0.01%, percentile 2%), there is no KEV listing and no public exploit identified, so mass exploitation is unlikely; the realistic threat is targeted social-engineering of ML practitioners into opening untrusted models from model hubs or shared artifacts. The primary impact is information disclosure (file read), not code execution or integrity loss, which bounds blast radius. No conflicting signals were observed: network attack vector is plausible because models are commonly shared/downloaded, but practical exploitation still depends on the user-interaction step.

Exploit ScenarioDerived

An attacker publishes a seemingly legitimate pre-trained model on a model-sharing hub or sends it directly to an ML engineer; the .keras file embeds an HDF5 external dataset reference pointing to a sensitive local path such as SSH keys, cloud credentials, or configuration files. When the victim loads the model in Keras, the loader follows the reference and pulls the targeted file's contents into the model object, which the attacker can then exfiltrate or read back. No public proof-of-concept is identified at time of analysis, but the low attack complexity makes a working exploit straightforward to develop.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv7 – Jun 30, 2026

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.

Earlier versions of this analysis (6)
v6 Jun 30, 2026 - 05:44 cvss changed CVSS 7.1

Arbitrary local file disclosure affects the Keras deep-learning framework (versions 3.0.0 through 3.13.1) when it loads a malicious .keras model that abuses HDF5 external dataset references to point at files outside the model archive. A remote attacker who convinces a victim to load a crafted model file can read arbitrary local files in the context of the loading process and exfiltrate their contents. EPSS rates exploitation probability very low (0.01%), and no public exploit identified at time of analysis.

v5 Jun 30, 2026 - 05:43 cvss changed CVSS 7.1

Arbitrary local file read in Keras 3.0.0 through 3.13.1 allows a remote attacker to disclose sensitive files on a victim host when the victim loads a crafted .keras model that abuses HDF5 external dataset references. The bug stems from the model-loading (HDF5) layer trusting attacker-controlled external file paths embedded in the model archive, turning model deserialization into a file-disclosure primitive. With UI required (victim must load the model), EPSS is very low (0.01%, 2nd percentile) and there is no public exploit identified at time of analysis, but the wide use of Keras in ML pipelines makes untrusted model loading a realistic exposure.

v4 Jun 30, 2026 - 05:43 cvss changed CVSS 7.1

Arbitrary local file disclosure in Keras 3.0.0 through 3.13.1 lets a remote attacker exfiltrate sensitive files from a victim's host when that victim loads a maliciously crafted .keras model. The flaw lives in the HDF5 integration of the model-loading path, where HDF5 external dataset references are followed to read files outside the model archive. Exploitation requires the victim to open the attacker-supplied model (UI:P), there is no public exploit identified at time of analysis, and the EPSS score is very low (0.01%), indicating no observed mass exploitation.

v3 Jun 30, 2026 - 05:42 cvss changed CVSS 7.1

Arbitrary local file disclosure in Keras 3.0.0 through 3.13.1 lets a remote attacker exfiltrate sensitive files from any host that opens a malicious .keras model. The flaw lives in the HDF5 model-loading path, where external dataset references in the HDF5 container are dereferenced against the local filesystem, so loading an attacker-supplied model reads files such as credentials or private keys and surfaces their contents. No public exploit identified at time of analysis, EPSS is negligible (0.01%), and it is not in CISA KEV, but a vendor patch is available.

v2 Jun 30, 2026 - 05:42 cvss changed CVSS 7.1

Arbitrary local file read in Keras 3.0.0 through 3.13.1 lets a remote attacker disclose sensitive files when a victim loads a crafted .keras model that abuses HDF5 external dataset references during model deserialization. The flaw (CWE-73, external control of filename/path) requires the user to open the attacker-supplied model, but needs no authentication and works across all supported platforms. There is no public exploit identified at time of analysis, and the EPSS probability is negligible (0.01%, 2nd percentile), so this is a credible but low-likelihood, interaction-dependent issue rather than a mass-exploitation threat.

v1 Mar 12, 2026 - 22:02 CVSS 7.5

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. [CVSS 7.5 HIGH]

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.

Affected Packages

pypi keras fix: 3.12.1, 3.13.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

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.

Know when Keras gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (google) PRIMARY 7.1 HIGH
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
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Red Hat 6.5 HIGH

Primary rating from Vendor (google).

CVSS VectorVendor: google

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

9
Analysis Updated
Jun 30, 2026 - 05:44 vuln.today
v7 - CVSS changed
Analysis Updated
Jun 30, 2026 - 05:44 vuln.today
v6 - CVSS changed
Analysis Updated
Jun 30, 2026 - 05:43 vuln.today
v5 - CVSS changed
Analysis Updated
Jun 30, 2026 - 05:43 vuln.today
v4 - CVSS changed
Analysis Updated
Jun 30, 2026 - 05:42 vuln.today
v3 - CVSS changed
Analysis Updated
Jun 30, 2026 - 05:42 vuln.today
v2 - CVSS changed
CVSS changed
Jun 30, 2026 - 03:23 NVD
7.5 (HIGH) 7.1 (HIGH)
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
CVE Published
Feb 11, 2026 - 23:16 nvd
HIGH 7.5

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.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1 pypi packages depend on keras (1 direct, 0 indirect)

Ecosystem-wide dependent count for version 3.13.0.

Executive ViewAI

Why It Matters

Keras machine learning framework (versions 3.0.0-3.13.1) contains a file-disclosure vulnerability that could expose sensitive organizational assets such as credentials and intellectual property when users open malicious model files. Despite minimal current exploitation risk (EPSS 0.01%, no public exploits), the high CVSS severity rating and authentication-free attack vector necessitate prompt patching across all affected deployments.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Prevalence
High
Keras is among the most widely used deep-learning libraries
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)CVE.org

cpe:2.3:a:keras:keras:*:*:*:*:*:*:*:*

More in Keras

View all
CVE-2025-9905 HIGH POC
7.3 Sep 19

The Keras Model.load_model method can be exploited to achieve arbitrary code execution, even with safe_mode=True. Rated

CVE-2025-49655 CRITICAL
9.8 Oct 17

Deserialization of untrusted data in Keras 3.11.0 through 3.11.2 allows remote code execution when a victim loads a mali

CVE-2024-3660 CRITICAL
9.8 Apr 16

A arbitrary code injection vulnerability in TensorFlow's Keras framework (<2.13) allows attackers to execute arbitrary c

CVE-2025-12060 HIGH
8.9 Oct 30

Directory traversal in Keras through 3.11.3 allows an attacker who supplies a crafted tar archive to keras.utils.get_fil

CVE-2025-9906 HIGH
8.6 Sep 19

The Keras Model.load_model method can be exploited to achieve arbitrary code execution, even with safe_mode=True. Rated

CVE-2026-11816 HIGH
8.1 Jun 11

Path traversal in Keras archive extraction utilities prior to version 3.14.0 allows remote attackers to write files outs

CVE-2026-0897 HIGH
7.1 Jan 15

Memory-exhaustion denial of service in Google Keras 3.0.0 through 3.13.0 lets a remote attacker crash the Python interpr

CVE-2025-12058 MEDIUM
5.9 Oct 29

Keras Model.load_model fails to enforce safe_mode=True for the StringLookup layer's vocabulary path handling, so a malic

CVE-2025-8747 HIGH
8.6 Aug 11

A safe mode bypass vulnerability in the `Model.load_model` method in Keras versions 3.0.0 through 3.10.0 allows an attac

CVE-2024-55459 MEDIUM
6.5 Jan 08

An issue in keras 3.7.0 allows attackers to write arbitrary files to the user's machine via downloading a crafted tar fi

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy