{"id":"CVE-2026-120499","aliases":["EUVD-2026-117602","GHSA-vwvw-f6v4-w737"],"status":"published","title":"h5io before 0.2.6 Arbitrary Code Execution via read_hdf5","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.","severity":{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00423,"percentile":0.37108,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-502","CWE-95"],"published":"2026-11-05T16:55:32Z","modified":"2026-11-07T02:48:31Z","products":[{"vendor":"h5io","product":"h5io"}],"references":[{"url":"https://github.com/h5io/h5io/security/advisories/GHSA-vwvw-f6v4-w737","tags":["vendor-advisory","exploit","advisory"]},{"url":"https://github.com/h5io/h5io/commit/afff1d61b31790f8c27e6c577bb7703eb1883ddd","tags":["patch","fix"]},{"url":"https://github.com/h5io/h5io/releases/tag/h5io-0.2.6","tags":["release-notes","advisory"]},{"url":"https://github.com/h5io/h5io/blob/h5io-0.2.5/h5io/_h5io.py#L601-L604","tags":["technical-description","article"]},{"url":"https://www.vulncheck.com/advisories/h5io-before-0.2.6-arbitrary-code-execution-via-read-hdf5","tags":["third-party-advisory","advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/120xxx/CVE-2026-120499.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120499","tags":["advisory"]},{"url":"https://github.com/h5io/h5io","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-120499","title":"h5io before 0.2.6 Arbitrary Code Execution via read_hdf5","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.","status":"published","published":"2026-11-05T16:55:32.599Z","modified":"2026-11-05T18:30:58.29Z","cvss":[{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-95","CWE-502"],"updated_at":"2026-11-05T19:54:50.971852Z"}],"euvd":[{"id":"EUVD-2026-117602","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.","status":"published","published":"2026-11-05T16:55:32Z","modified":"2026-11-05T18:30:58Z","cvss":[{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-05T19:01:17.781272Z"}],"nvd":[{"id":"CVE-2026-120499","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.","status":"published","published":"2026-11-05T17:18:00.097Z","modified":"2026-11-05T19:17:14.713Z","cvss":[{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-95","CWE-502"],"updated_at":"2026-11-05T21:56:50.099578Z"}],"osv":[{"id":"CVE-2026-120499","title":"h5io before 0.2.6 Arbitrary Code Execution via read_hdf5","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.","status":"published","published":"2026-11-05T16:55:32.599Z","modified":"2026-11-07T02:48:31.537304401Z","cvss":[{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-502","CWE-95"],"updated_at":"2026-11-07T03:08:01.726202Z"}]}}
