NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Not in CISA KEV

h5io before 0.2.6 Arbitrary Code Execution via read_hdf5GHSA-vwvw-f6v4-w737

Fix: h5io/h5io@afff1d6

GHSA-vwvw-f6v4-w737 is a CWE-95 vulnerability. A fix is available — see the affected versions and patch details below.

Published
Updated
Affected
18 versions
Patched
See advisory
Exploits
None indexed
Exploitation data as of Nov 7, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

Exploitation Status

Proof-of-concept exploit code exists

  • CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.
  • A successful exploit gives an attacker total control of the affected component, not partial access.

Exploitation and automatability from CISA’s SSVC triage for GHSA-vwvw-f6v4-w737.

EPSS Exploitation Probability

via FIRST.org ↗
0.4%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs37th percentile — riskier than 37% of all scored CVEsHighest risk

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

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.

Detection & mitigation playbook

Vulnerability
  1. Detect

    Identify every host running the affected component and compare the installed build against the fixed version below — for source-built or distro-packaged software the version string, not a lockfile, is the source of truth (`dpkg -l`, `rpm -q`, or the binary's own `--version`).

  2. Fix

    Upgrade the affected component to the fixed release for GHSA-vwvw-f6v4-w737, or apply your distribution's backported patch — distro builds are often patched at an older version number, so check your vendor's advisory rather than the upstream version alone.

  3. Workarounds

    Stop passing untrusted input into the interpreter or shell: call the affected binary with an argument array rather than a composed command string, reject anything outside a strict allowlist of expected values, and run the component under an account that cannot reach beyond the work it legitimately does.

Fixing This On Your OS

If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.

Red HatImportant

Red Hat rates this vulnerability as Important severity because an attacker can achieve arbitrary execution within the process context without prior privileges, although exploitation requires local interaction to load malicious data. The affected library is not part of default system installations and is typically…

Workaround published by Red Hat
Do not load or process HDF5 files from untrusted or unverified external sources. If processing untrusted datasets is required, execute workloads within an isolated container or restricted sandbox running under an unprivileged user account with minimal access to local storage and network resources. Caveat: Sandboxing or container isolation mitigates lateral movement and host compromise but does not prevent malicious code execution within the isolated container boundary itself. --- CME Mitigation Guidance (2026-11-06) --- Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in…
Source: Red Hat security advisory for GHSA-vwvw-f6v4-w737 (CC BY 4.0)

Frequently Asked Questions

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.
O3 Security · Impact-Aware SCA

Is GHSA-vwvw-f6v4-w737 in your dependencies?

Find it across your dependency tree, including transitive dependencies.

h5io before 0.2.6 Arbitrary Code Execution via read_hdf5