Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| keras-team | keras-team/keras | unspecified – < 3.12.2, 3.14.1 | 3.12.2, 3.14.1 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 11 | keras | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | keras | No fix yet | — |
| Ubuntu 18.04 LTS | keras | No fix yet | — |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | keras | 3.3.3-8 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | keras | < 3.12.3 | 3.12.3 | GHSA-26c4-7vv6-867j |
| PyPI | keras | >= 3.13.0, < 3.15.0 | 3.15.0 | GHSA-26c4-7vv6-867j |
| PyPI | keras | < 3.12.3 · >= 3.13.0, < 3.15.0 | 3.12.3, 3.15.0 | PYSEC-2026-3629 |