Unsafe Deserialization in keras.layers.TorchModuleWrapper.from_config (keras-team keras-team/keras)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.30 % · percentile 23 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- @huntr_ai
- NVD status
- Awaiting Analysis
Description
A vulnerability in keras-team/keras version 3.15.0 allows unsafe deserialization of attacker-controlled PyTorch pickle data through the public `keras.layers.TorchModuleWrapper.from_config` method. This method invokes `torch.load(..., weights_only=False)` without requiring an explicit unsafe opt-in, such as a `safe_mode=False` parameter. When called outside a `SafeModeScope(True)` context, the absence of an ambient safe mode state permits unsafe deserialization by default. This issue can lead to arbitrary code execution if untrusted Keras layer configurations are processed using this method. The vulnerability arises because the method does not enforce safe deserialization practices unless explicitly guarded by Keras safe mode.
Weaknesses (CWE)
- CWE-502 — Deserialization of Untrusted Data
References
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.0 | HIGH 7.8 | CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H | @huntr_ai |
| CVSS 3.0 | HIGH 7.8 | CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H | NVD · security@huntr.dev (Secondary) |
Advisories
- GHSA-v2w2-w228-c444 — Keras: TorchModuleWrapper can deserialize unsafe PyTorch pickle data
- PYSEC-2026-3634 — Keras: TorchModuleWrapper can deserialize unsafe PyTorch pickle data
European references
- ENISA EUVD · EUVD-2026-45872
- GCVE · GCVE-0-2026-12484
Affected products
| Product | Versions |
|---|---|
| keras-team · keras-team/keras | affected unspecified ≤ latest |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |