CVE-2026-9335
CVE-2026-9335 · Improper Handling of HDF5 ExternalLinks in keras-team/keras
This page contains facts from public vulnerability sources. Check the original advisory before updating.
A vulnerability in keras-team/keras versions <= 3.14.0 allows arbitrary local HDF5 file content disclosure due to improper handling of HDF5 ExternalLinks. The `KerasFileEditor` and `keras.saving.load_weights` functions bypass the `safe_get_h5_group` and `safe_get_h5_dataset` helpers, which are designed to reject ExternalLinks and SoftLinks. This results in automatic dereferencing of links to external HDF5 files, enabling attackers to disclose sensitive data from the victim's local filesystem. Specifically, `KerasFileEditor` extracts attributes and datasets from linked files into its internal structures, while `keras.saving.load_weights` loads weights from linked files into the user's model. This issue can be exploited by providing a malicious `.h5`, `.weights.h5`, or `.keras` file containing ExternalLinks.
CVSS 6.5 · Medium · EPSS 0.8% · Fix available
- Published
- Updated
Affected products and versions
keras-team/keras
- Versions
- ≥ unspecified, < 3.12.3, 3.15.0: Affected (custom)
Update to 3.12.3, 3.15.0
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