RCE in Google Keras
CVE-2025-1550
The Keras Model.load_model function permits arbitrary code execution, even with safe_mode=True, through a manually constructed, malicious .keras archive. By altering the config.json file within the archive, an attacker can specify arbitrary Python modules and functions, along with their arguments, to be loaded and executed during model loading.
Vulnerability class: RCE (Remote Code Execution)
Published · last modified .
CVSS v3 metric
CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
EPSS exploit prediction
EPSS: 0.026 (84.9th percentile), scored .
Low probability of exploitation in the next 30 days, but still tracked. 85th percentile — 84.9% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.026 · newest: 0.026 · change: +0.000
Affected products
- Google Keras — versions 3.0.0
- Keras
Weakness classification (CWE)
Public proof-of-concept exploits
References
- github.com/keras-team/keras/pull/20751 (Patch, Issue Tracking)
- towerofhanoi.it/writeups/cve-2025-1550/ (Exploit, Third Party Advisory)
Frequently asked questions
- What is CVE-2025-1550?
- CVE-2025-1550 is a critical-severity vulnerability in Google Keras, classified under Code Injection. CVSS score: 9.8/10. Published 2025-03-11.
- How severe is CVE-2025-1550?
- Critical severity. CVSS v3 base score is 9.8 out of 10.
- Is CVE-2025-1550 known to be exploited?
- 9 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.