CVE-2025-8747 Keras safe_mode bypass allows arbitrary code execution when loading a malicious model.

High 8.6 Published Updated

Attackers can execute arbitrary code by tricking users into loading malicious Keras model files, bypassing safe mode protections.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2025-8747?

CVE-2025-8747 is a high-severity unsafe deserialization vulnerability in Google Keras, published on 11 Aug 2025. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

Official description

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 specially crafted `.keras` model archive.

Weakness: CWE-502

Which versions are affected by CVE-2025-8747?

3 open source packages ship an affected version, including keras. It affects 1 product.

PackageAffectedFixed in
keras PyPIAll versionsNone
keras PyPIFrom 3.0.03.11.0
keras PyPIFrom 3.0.03.11.0

Products include Keras Keras.

How do I fix CVE-2025-8747?

Upgrade keras to 3.11.0 or later.

Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.

Is CVE-2025-8747 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-8747 exists.

Sources

Also known as AZL-66171, GHSA-c9rc-mg46-23w3, PYSEC-2025-75, UBUNTU-CVE-2025-8747.

Is CVE-2025-8747 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free