Skip to main content
← Vulnerabilities

h5io before 0.2.6 Arbitrary Code Execution via read_hdf5

Affects h5io versions before 0.2.6 when a crafted HDF5 file is read with read_hdf5, including through MNE-Python. Fixed in 0.2.6.

Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.

8.5HighCNA
Exploited
Proof of concept public, per CISA
Fix
Fixed in 0.2.6
Who is exposed
Specific setups only

Do first: Check whether your setup matches what the bug needs. Affects h5io versions before 0.2.6 (affected versions <= 0.2.5). The victim must call read_hdf5 (or a library built on it, such as MNE-Python) on a crafted HDF5 file. The timezone, class, custom-object and pandas paths are reached through the public read_hdf5 with default arguments, at any depth in the file.

Published
Last modified
30/100 · provisional
Specific setups only
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

The h5io Python library's `read_hdf5()` function contains a code injection flaw that lets an attacker execute arbitrary code by supplying a crafted HDF5 file. The attacker reaches it locally, without logging in, but a user must take an action, such as reading the malicious file, for it to trigger.

Read the original 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.

cve.now Index

30Pcve.now Index 30 of 100 · methodology v3 · provisional
  • Exploitation15/40CISA rates a proof of concept as public
  • Exposure5/25Specific setups only
  • Reach?/20Unknown. No tracked technology or package matched
  • Severity9.5/10CVSS 8.5, total technical impact per CISA
  • No patch0/5No signal

What would change the score

  • Would score about 65 if added to CISA KEV
  • Would score about 60 if CISA's SSVC rates exploitation active
  • Would score about 40 if CISA's SSVC rates it automatable

What to do

  • Check whether your setup matches what the bug needs.

    Affects h5io versions before 0.2.6 (affected versions <= 0.2.5). The victim must call read_hdf5 (or a library built on it, such as MNE-Python) on a crafted HDF5 file. The timezone, class, custom-object and pandas paths are reached through the public read_hdf5 with default arguments, at any depth in the file.
  • Upgrade to a fixed version: 0.2.6.

  • Workaround: With h5io <= 0.2.5, do not call read_hdf5 (or MNE-Python readers that use it) on files from untrusted sources.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  4. Record last updated

Affected versions

  • h5io h5io

    From 0.1.0 · fixed in 0.2.6

Evidence 5

  1. Advisory
  2. Patch
  3. Repository
  4. Repository
  5. Link

Corrections

None so far.

Something wrong on this page? Report an error. Every fix is listed here.

Questions about CVE-2026-120499

Is CVE-2026-120499 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. CISA's SSVC assessment notes a proof of concept exists. No public exploit code is tracked.Source: cve.now feed data

What does this mean?

Reading a specially crafted HDF5 file with h5io's read_hdf5 function can run arbitrary code on the reader's machine. The code runs through timezone, class, custom-object and pandas data nodes that the reader processes with default arguments.Source: github.com

Which versions are affected by CVE-2026-120499?

h5io: from 0.1.0 before 0.2.6.Source: cve.now feed data

Am I affected, and how do I check?

Versions of h5io before 0.2.6 are affected, meaning versions 0.2.5 and earlier. To check, run the version command for h5io in the Python environment in use; libraries built on it, such as MNE-Python, are affected when they call read_hdf5.Source: github.com

How do I fix CVE-2026-120499?

Upgrade h5io to version 0.2.6. Until the upgrade is done, avoid calling read_hdf5 or MNE-Python readers that use it on files from untrusted sources.Source: github.com