Skip to main content

Keras

11 CVEs product

Monthly

CVE-2026-11816 Jun 11, 14:16 PyPI HIGH PATCH GHSA This Week

Path traversal in Keras archive extraction utilities prior to version 3.14.0 allows remote attackers to write files outside the intended extraction directory when a victim loads a malicious model archive. The flaw stems from validating archive member paths against the process current working directory rather than the actual extraction destination, which collapses to the filesystem root in common Docker, CI/CD, and Jupyter setups. No public exploit identified at time of analysis, but the upstream fix and a Huntr bounty disclosure make targeted exploitation against ML pipelines plausible.

Python Docker Path Traversal Keras
NVD GitHub VulDB
CVSS 3.1
8.1
EPSS
0.0%
CVE-2026-1669 Feb 11, 23:16 PyPI HIGH PATCH This Week

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.

Information Disclosure Keras
NVD GitHub
CVSS 4.0
7.1
EPSS
0.0%
CVE-2026-0897 Jan 15, 14:16 PyPI HIGH PATCH GHSA This Week

Memory-exhaustion denial of service in Google Keras 3.0.0 through 3.13.0 lets a remote attacker crash the Python interpreter by getting a victim to load a malicious .keras model archive. The crafted archive embeds a valid model.weights.h5 HDF5 file whose dataset declares an enormously large shape, so the weight loader attempts to allocate unbounded memory during deserialization. There is no public exploit identified at time of analysis, EPSS risk is low (0.03%), and a vendor fix is available.

Denial Of Service Python Google Keras
NVD GitHub VulDB
CVSS 4.0
7.1
EPSS
0.0%
CVE-2025-12060 Oct 30, 17:15 PyPI HIGH PATCH This Week

Directory traversal in Keras through 3.11.3 allows an attacker who supplies a crafted tar archive to keras.utils.get_file(..., extract=True) to write files outside the intended extraction directory, including via symlink-based traversal that bypasses Keras's existing path filter. The issue is tied to Python tarfile's PATH_MAX symlink-resolution behavior (CVE-2025-4517) and to Keras calling tarfile.extractall without filter='data'; upgrading Python alone does not remediate it. Publicly available exploit code exists (a proof-of-concept is included in the GitHub advisory), exploitation requires the victim application to fetch and extract an attacker-influenced tar archive, and no CISA KEV entry is available.

Python Path Traversal Red Hat Keras
NVD GitHub
CVSS 4.0
8.9
EPSS
0.6%
CVE-2025-12058 Oct 29, 09:15 PyPI MEDIUM PATCH This Month

Keras Model.load_model fails to enforce safe_mode=True for the StringLookup layer's vocabulary path handling, so a malicious .keras archive can cause arbitrary local file reads and server-side requests when a victim loads it. This CWE-502 deserialization-class flaw affects the Keras model-loading path and is assessed as confidentiality-focused, requiring user interaction to load the untrusted model; SSRF reach depends on the host's network access and available tf.io.gfile handlers. No public exploit was identified at time of analysis.

Deserialization SSRF Red Hat Keras
NVD GitHub
CVSS 4.0
5.9
EPSS
0.2%
CVE-2025-49655 Oct 17, 16:15 PyPI CRITICAL PATCH GHSA Act Now

Deserialization of untrusted data in Keras 3.11.0 through 3.11.2 allows remote code execution when a victim loads a maliciously crafted Keras model file containing a TorchModuleWrapper, even with safe mode enabled (the default). The bypass occurs because torch.load() is invoked during from_config() deserialization without the safe-mode check; exploitation requires user interaction to load the file, which can be local or fetched from a remote URL. No public exploit code or confirmed active exploitation was identified at time of analysis, but the unauthenticated network vector and high impact make this critical.

RCE Deserialization Red Hat Keras
NVD GitHub
CVSS 3.1
9.8
EPSS
0.8%
CVE-2025-9906 Sep 19, 09:15 PyPI HIGH PATCH GHSA This Week

The Keras Model.load_model method can be exploited to achieve arbitrary code execution, even with safe_mode=True. Rated high severity (CVSS 8.6), this vulnerability is low attack complexity. No vendor patch available.

RCE Python Deserialization Keras
NVD GitHub
CVSS 4.0
8.6
EPSS
0.1%
CVE-2025-9905 Sep 19, 09:15 PyPI HIGH POC PATCH GHSA This Week

The Keras Model.load_model method can be exploited to achieve arbitrary code execution, even with safe_mode=True. Rated high severity (CVSS 7.3). Public exploit code available.

RCE Python Keras
NVD GitHub
CVSS 4.0
7.3
EPSS
0.0%
CVE-2025-8747 Aug 11, 08:15 PyPI HIGH PATCH GHSA This Month

A safe mode bypass vulnerability in the `Model.load_model` method in Keras versions 3.0.0 through 3.10.0 allows an attacker to achieve arbitrary code execution by convincing a user to load a. Rated high severity (CVSS 8.6), this vulnerability is low attack complexity. No vendor patch available.

RCE Deserialization Keras
NVD GitHub
CVSS 4.0
8.6
EPSS
0.0%
CVE-2024-55459 Jan 08, 17:15 PyPI MEDIUM This Month

An issue in keras 3.7.0 allows attackers to write arbitrary files to the user's machine via downloading a crafted tar file through the get_file function. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. No vendor patch available.

Information Disclosure Red Hat Keras
NVD GitHub
CVSS 3.1
6.5
EPSS
0.1%
CVE-2024-3660 Apr 16, 21:15 PyPI CRITICAL PATCH Act Now

A arbitrary code injection vulnerability in TensorFlow's Keras framework (<2.13) allows attackers to execute arbitrary code with the same permissions as the application using a model that allow. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no authentication required, low attack complexity. No vendor patch available.

RCE Code Injection Keras
NVD
CVSS 3.1
9.8
EPSS
1.7%
EPSS 0% CVSS 8.1
HIGH PATCH This Week

Path traversal in Keras archive extraction utilities prior to version 3.14.0 allows remote attackers to write files outside the intended extraction directory when a victim loads a malicious model archive. The flaw stems from validating archive member paths against the process current working directory rather than the actual extraction destination, which collapses to the filesystem root in common Docker, CI/CD, and Jupyter setups. No public exploit identified at time of analysis, but the upstream fix and a Huntr bounty disclosure make targeted exploitation against ML pipelines plausible.

Python Docker Path Traversal +1
NVD GitHub VulDB
EPSS 0% CVSS 7.1
HIGH PATCH This Week

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.

Information Disclosure Keras
NVD GitHub
EPSS 0% CVSS 7.1
HIGH PATCH This Week

Memory-exhaustion denial of service in Google Keras 3.0.0 through 3.13.0 lets a remote attacker crash the Python interpreter by getting a victim to load a malicious .keras model archive. The crafted archive embeds a valid model.weights.h5 HDF5 file whose dataset declares an enormously large shape, so the weight loader attempts to allocate unbounded memory during deserialization. There is no public exploit identified at time of analysis, EPSS risk is low (0.03%), and a vendor fix is available.

Denial Of Service Python Google +1
NVD GitHub VulDB
EPSS 1% CVSS 8.9
HIGH PATCH This Week

Directory traversal in Keras through 3.11.3 allows an attacker who supplies a crafted tar archive to keras.utils.get_file(..., extract=True) to write files outside the intended extraction directory, including via symlink-based traversal that bypasses Keras's existing path filter. The issue is tied to Python tarfile's PATH_MAX symlink-resolution behavior (CVE-2025-4517) and to Keras calling tarfile.extractall without filter='data'; upgrading Python alone does not remediate it. Publicly available exploit code exists (a proof-of-concept is included in the GitHub advisory), exploitation requires the victim application to fetch and extract an attacker-influenced tar archive, and no CISA KEV entry is available.

Python Path Traversal Red Hat +1
NVD GitHub
EPSS 0% CVSS 5.9
MEDIUM PATCH This Month

Keras Model.load_model fails to enforce safe_mode=True for the StringLookup layer's vocabulary path handling, so a malicious .keras archive can cause arbitrary local file reads and server-side requests when a victim loads it. This CWE-502 deserialization-class flaw affects the Keras model-loading path and is assessed as confidentiality-focused, requiring user interaction to load the untrusted model; SSRF reach depends on the host's network access and available tf.io.gfile handlers. No public exploit was identified at time of analysis.

Deserialization SSRF Red Hat +1
NVD GitHub
EPSS 1% CVSS 9.8
CRITICAL PATCH Act Now

Deserialization of untrusted data in Keras 3.11.0 through 3.11.2 allows remote code execution when a victim loads a maliciously crafted Keras model file containing a TorchModuleWrapper, even with safe mode enabled (the default). The bypass occurs because torch.load() is invoked during from_config() deserialization without the safe-mode check; exploitation requires user interaction to load the file, which can be local or fetched from a remote URL. No public exploit code or confirmed active exploitation was identified at time of analysis, but the unauthenticated network vector and high impact make this critical.

RCE Deserialization Red Hat +1
NVD GitHub
EPSS 0% CVSS 8.6
HIGH PATCH This Week

The Keras Model.load_model method can be exploited to achieve arbitrary code execution, even with safe_mode=True. Rated high severity (CVSS 8.6), this vulnerability is low attack complexity. No vendor patch available.

RCE Python Deserialization +1
NVD GitHub
EPSS 0% CVSS 7.3
HIGH POC PATCH This Week

The Keras Model.load_model method can be exploited to achieve arbitrary code execution, even with safe_mode=True. Rated high severity (CVSS 7.3). Public exploit code available.

RCE Python Keras
NVD GitHub
EPSS 0% CVSS 8.6
HIGH PATCH This Month

A safe mode bypass vulnerability in the `Model.load_model` method in Keras versions 3.0.0 through 3.10.0 allows an attacker to achieve arbitrary code execution by convincing a user to load a. Rated high severity (CVSS 8.6), this vulnerability is low attack complexity. No vendor patch available.

RCE Deserialization Keras
NVD GitHub
EPSS 0% CVSS 6.5
MEDIUM This Month

An issue in keras 3.7.0 allows attackers to write arbitrary files to the user's machine via downloading a crafted tar file through the get_file function. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. No vendor patch available.

Information Disclosure Red Hat Keras
NVD GitHub
EPSS 2% CVSS 9.8
CRITICAL PATCH Act Now

A arbitrary code injection vulnerability in TensorFlow's Keras framework (<2.13) allows attackers to execute arbitrary code with the same permissions as the application using a model that allow. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no authentication required, low attack complexity. No vendor patch available.

RCE Code Injection Keras
NVD

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