Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Keras | 3.0.0 – < 3.8.0 | 3.8.0 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | keras | 3.3.3-2 | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | kubeflow-pipelines-visualization-server | 2.4.1-r2 | — |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Exploit-DB 1
- Keras 2.15 - Remote Code Execution (RCE) EDB-52359 · remote · Jul 16, 2025
GitHub 1 repository
-
ChCh0i/cve-2025-1550 ★ 0 · Oct 24, 2025
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | keras | >= 3.0.0, < 3.9.0 | 3.9.0 | GHSA-48g7-3x6r-xfhp |
| PyPI | keras | >= 3.0.0, < 3.8.0 | 3.8.0 | PYSEC-2025-122 |