Deserialization in Keras

CVE-2026-12481

A vulnerability in keras-team/keras version 3.14.0 allows for arbitrary code execution due to improper handling of deserialization in the `Lambda` layer. Specifically, the `_raise_for_lambda_deserialization()` function fails to enforce the safe-mode guard when `safe_mode` is set to `None`, which is the default value when `from_config()` is called outside of a `SafeModeScope` context. This logic error conflates `None` (unset/default-deny) with `False` (explicitly disabled), bypassing the guard and allowing attacker-controlled `marshal` bytecode to be deserialized. Affected call sites include `keras.layers.deserialize(config)`, `keras.models.clone_model(model)`, and any direct invocation of `Lambda.from_config(config)` without an enclosing `SafeModeScope(True)`. This vulnerability can be exploited to achieve arbitrary OS-level code execution in the context of the server or user process.

Vulnerability class: Insecure Deserialization

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.007 (52.2th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 52nd percentile — 52.2% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2026-12481: held from 0.007 to 0.007.

EPSS over last 30 days · oldest: 0.007 · newest: 0.007 · change: 0.000

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-12481?
CVE-2026-12481 is a critical-severity vulnerability in Keras, classified under Deserialization of Untrusted Data. CVSS score: 9.8/10. Published 2026-07-03.
How severe is CVE-2026-12481?
Critical severity. CVSS v3 base score is 9.8 out of 10.