GitHub Advisoryadvisory · PyPI

GHSA-48g7-3x6r-xfhp Arbitrary Code Execution via Crafted Keras Config for Model Loading

HIGH Published 2025-03-11 Modified 2026-06-06 Official page ↗
Aliases
CVE-2025-1550
Ecosystem
PyPI
Packages
keras
Severity
High
CVSS vector
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Weaknesses
CWE-94
Reviewed
2025-03-11

Affected packages

• PyPI keras: >= 3.0.0, < 3.9.0 → fixed in 3.9.0

Description

Impact 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. Patches This problem is fixed starting with version `3.9`. Workarounds Only load models from trusted sources and model archives created with Keras. References • https://www.cve.org/cverecord?id=CVE-2025-1550 • https://github.com/keras-team/keras/pull/20751

Related

Alias · CVE (1)

  • CVE-2025-1550 The Keras Model.load_model function permits arbitrary code execution, even with safe_mode=True, through a manually constructed, malicious… vulnerability

Weakness · CWE (1)

  • CWE-94 Improper Control of Generation of Code weakness

References