CVE-2026-12480
CVE-2026-12480 · Arbitrary HDF5 File Read via Virtual Dataset Bypass in keras-team/keras
This page contains facts from public vulnerability sources. Check the original advisory before updating.
Keras versions up to and including 3.13.2 are vulnerable to an arbitrary HDF5 file read due to an incomplete fix for CVE-2026-1669. The vulnerability resides in the `H5IOStore._verify_dataset()` and `file_editor.py` methods, which fail to check the `dataset.is_virtual` property of HDF5 datasets. This allows an attacker to craft a malicious `.keras` model archive or `.h5` weights file containing a Virtual Dataset (VDS) that references external HDF5 files on the victim's filesystem. When the victim loads the model using `keras.models.load_model()` or `keras.saving.load_model()`, the external file is transparently read, leading to potential information disclosure. Fixed in versions 3.12.2 and 3.14.1.
CVSS 5.5 · Medium · EPSS 0.2% · Fix available
- Published
- Updated
Affected products and versions
keras-team/keras
- Versions
- ≥ unspecified, < 3.12.2, 3.14.1: Affected (custom)
Update to 3.12.2, 3.14.1
keras Debian:11
- Versions
- 2.3.1+dfsg-3
- 2.3.1+dfsg2-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
keras PyPI
- Versions
- 0.2.0
- 0.3.0
- 0.3.1
- 0.3.2
- 0.3.3
- 1.0.0
- 1.0.1
- 1.0.2
- 1.0.3
- 1.0.4
- 1.0.5
- 1.0.6
- 1.0.7
- 1.0.8
- 1.1.0
- 1.1.1
- 1.1.2
- 1.2.0
- 1.2.1
- 1.2.2
- 2.0.0
- 2.0.1
- 2.0.2
- 2.0.3
- 2.0.4
- 2.0.5
- 2.0.6
- 2.0.7
- 2.0.8
- 2.0.9
- 2.1.0
- 2.1.1
- 2.1.2
- 2.1.3
- 2.1.4
- 2.1.5
- 2.1.6
- 2.10.0
- 2.10.0rc0
- 2.10.0rc1
- 2.11.0
- 2.11.0rc0
- 2.11.0rc1
- 2.11.0rc2
- 2.11.0rc3
- 2.12.0
- 2.12.0rc0
- 2.12.0rc1
- 2.13.1
- 2.13.1rc0
- 2.13.1rc1
- 2.14.0
- 2.14.0rc0
- 2.15.0
- 2.15.0rc0
- 2.15.0rc1
- 2.2.0
- 2.2.1
- 2.2.2
- 2.2.3
- 2.2.4
- 2.2.5
- 2.3.0
- 2.3.1
- 2.4.0
- 2.4.1
- 2.4.2
- 2.4.3
- 2.5.0rc0
- 2.6.0
- 2.6.0rc0
- 2.6.0rc1
- 2.6.0rc2
- 2.6.0rc3
- 2.7.0
- 2.7.0rc0
- 2.7.0rc2
- 2.8.0
- 2.8.0rc0
- 2.8.0rc1
- 2.9.0
- 2.9.0rc0
- 2.9.0rc1
- 2.9.0rc2
- 3.0.0
- 3.0.1
- 3.0.2
- 3.0.3
- 3.0.4
- 3.0.5
- 3.1.0
- 3.1.1
- 3.10.0
- 3.11.0
- 3.11.1
- 3.11.2
- 3.11.3
- 3.12.0
- 3.12.1
- 3.12.2
- 3.2.0
- 3.2.1
- 3.3.0
- 3.3.1
- 3.3.2
- 3.3.3
- 3.4.0
- 3.4.1
- 3.5.0
- 3.6.0
- 3.7.0
- 3.8.0
- 3.9.0
- 3.9.1
- 3.9.2
- Affected ranges
- ECOSYSTEM: < 3.12.3
Update to 3.12.3
keras PyPI
- Versions
- 3.13.0
- 3.13.1
- 3.13.2
- 3.14.0
- 3.14.1
- Affected ranges
- ECOSYSTEM: ≥ 3.13.0, < 3.15.0
Update to 3.15.0
keras PyPI
- Versions
- 0.2.0
- 0.3.0
- 0.3.1
- 0.3.2
- 0.3.3
- 1.0.0
- 1.0.1
- 1.0.2
- 1.0.3
- 1.0.4
- 1.0.5
- 1.0.6
- 1.0.7
- 1.0.8
- 1.1.0
- 1.1.1
- 1.1.2
- 1.2.0
- 1.2.1
- 1.2.2
- 2.0.0
- 2.0.1
- 2.0.2
- 2.0.3
- 2.0.4
- 2.0.5
- 2.0.6
- 2.0.7
- 2.0.8
- 2.0.9
- 2.1.0
- 2.1.1
- 2.1.2
- 2.1.3
- 2.1.4
- 2.1.5
- 2.1.6
- 2.10.0
- 2.10.0rc0
- 2.10.0rc1
- 2.11.0
- 2.11.0rc0
- 2.11.0rc1
- 2.11.0rc2
- 2.11.0rc3
- 2.12.0
- 2.12.0rc0
- 2.12.0rc1
- 2.13.1
- 2.13.1rc0
- 2.13.1rc1
- 2.14.0
- 2.14.0rc0
- 2.15.0
- 2.15.0rc0
- 2.15.0rc1
- 2.2.0
- 2.2.1
- 2.2.2
- 2.2.3
- 2.2.4
- 2.2.5
- 2.3.0
- 2.3.1
- 2.4.0
- 2.4.1
- 2.4.2
- 2.4.3
- 2.5.0rc0
- 2.6.0
- 2.6.0rc0
- 2.6.0rc1
- 2.6.0rc2
- 2.6.0rc3
- 2.7.0
- 2.7.0rc0
- 2.7.0rc2
- 2.8.0
- 2.8.0rc0
- 2.8.0rc1
- 2.9.0
- 2.9.0rc0
- 2.9.0rc1
- 2.9.0rc2
- 3.0.0
- 3.0.1
- 3.0.2
- 3.0.3
- 3.0.4
- 3.0.5
- 3.1.0
- 3.1.1
- 3.10.0
- 3.11.0
- 3.11.1
- 3.11.2
- 3.11.3
- 3.12.0
- 3.12.1
- 3.12.2
- 3.13.0
- 3.13.1
- 3.13.2
- 3.14.0
- 3.14.1
- 3.2.0
- 3.2.1
- 3.3.0
- 3.3.1
- 3.3.2
- 3.3.3
- 3.4.0
- 3.4.1
- 3.5.0
- 3.6.0
- 3.7.0
- 3.8.0
- 3.9.0
- 3.9.1
- 3.9.2
- Affected ranges
- ECOSYSTEM: < 3.12.3 ∪ ≥ 3.13.0, < 3.15.0
Update to 3.12.3; Update to 3.15.0
keras Ubuntu:18.04:LTS
- Versions
- 1.0.7-2
- 2.1.1-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
keras Ubuntu:20.04:LTS
- Versions
- 2.2.4-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published