Description
h5io before 0.2.6 contains a code injection vulnerability in read_hdf5() that allows attackers to execute arbitrary code by supplying a crafted HDF5 file. Attackers can store Python code in a node titled timezone, which _triage_read() passes to eval() with builtins reachable, name an arbitrary module in class or custom-object nodes that _import_class() imports, or place pickled objects in pd_dataframe or pd_series nodes that pandas deserializes on read.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| h5io | h5io | 0.1.0 – < 0.2.6 | 0.2.6 |
References
- GitHub Security Advisory (GHSA-vwvw-f6v4-w737) vendor-advisory
- https://github.com/h5io/h5io/commit/afff1d61b31790f8c27e6c577bb7703eb1883ddd patch
- h5io h5io-0.2.6 Release Notes release-notes
- https://github.com/h5io/h5io/blob/h5io-0.2.5/h5io/_h5io.py#L601-L604 technical-description
- VulnCheck Advisory: h5io before 0.2.6 Arbitrary Code Execution via read_hdf5 third-party-advisory