---
title: "h5io の CVE-2026-120499: 細工した HDF5 ファイルを read_hdf5() で読み込むだけで任意の Python コードが動く恐れ（VulnCheck 評価 CVSS v3.1 7.8）"
url: https://n-t-p.io/worldsecurity/articles/h5io-cve-2026-120499-read-hdf5-crafted-hdf5-file-eval-pickle-arbitrary-code-execution
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月7日
updated: 2026年11月7日
severity: 高
cve: CVE-2026-120499
---

# h5io の CVE-2026-120499: 細工した HDF5 ファイルを read_hdf5() で読み込むだけで任意の Python コードが動く恐れ（VulnCheck 評価 CVSS v3.1 7.8）

> **TL;DR:** h5io 0.2.6 より前は、HDF5 ファイルの timezone ノードを eval() に渡し、class ノードのモジュールを読み込み、pd_dataframe・pd_series の pickle を復元する。細工したファイルを read_hdf5() で読み込むだけで、読んだユーザーの権限で任意の Python コードが動く恐れ。VulnCheck 評価は CVSS v3.1 7.8（v4.0 は 8.5）。0.2.6 で修正。悪用の有無は未確認。

**要点**
- h5io 0.2.6 より前で、HDF5 ファイルの内容を eval・モジュール読み込み・pickle で復元する（CWE-95・CWE-502）。
- 経路は timezone ノードの eval()、class・custom-object ノードのモジュール読み込み、pd_dataframe・pd_series の pickle の 3 つ。細工したファイルを読み込むと、そのユーザーの権限で任意の Python コードが動く恐れ。
- VulnCheck 評価は CVSS v3.1 7.8（AV:L・UI:R）、v4.0 は 8.5。CISA SSVC は悪用「poc」・自動化「no」・影響「total」。severity 案は high。
- 修正版は 0.2.6。出所の分からない HDF5 ファイルは更新まで読み込まない。
- KEV 掲載なし、EPSS は未算出。悪用・概念実証の公開先、依存ソフトへの波及、NVD 最終評価は未確認。

HDF5 ファイルに Python のオブジェクトを保存・復元するライブラリ h5io の 0.2.6 より前に、細工した HDF5 ファイルを `read_hdf5()` で読み込むだけで、任意の Python コードが実行される恐れのある欠陥（CVE-2026-120499）が報告されました。NVD への登録は 2026-11-05、状態は Received（評価前）で、登録元は VulnCheck です。

## 何が起きるか
- ファイルの内容を検証せずに実行・復元する欠陥です（CWE-95 コードインジェクション、CWE-502 信頼できないデータの復元）。悪意あるファイルを読み込んだユーザーの権限でコードが動きます。
- 経路は次の 3 つです。
  1. `timezone` という名前のノードに Python のコードを格納しておくと、`_triage_read()` が `eval()` に渡して実行する（組み込み関数も使える状態）。
  2. class や custom-object のノードに任意のモジュール名を書いておくと、`_import_class()` がそのモジュールを読み込む。
  3. `pd_dataframe`・`pd_series` のノードに pickle 化したオブジェクトを入れておくと、pandas が読み込み時に復元する。
- 前提として、被害者が悪意あるファイルを自分で読み込む必要があります（UI:R）。共同研究者から受け取ったデータや、公開データセットが入口になり得ます。ネットワーク越しに直接攻撃されるものではありません（AV:L）。

## 影響を受ける版
| 対象 | 影響する版（NVD の記載） |
|---|---|
| h5io（PyPI の h5io） | 0.1.0 以降 0.2.6 より前 |

修正版は 0.2.6 です。NVD の参照先に、リリースタグ（h5io-0.2.6）、修正コミット、GitHub のセキュリティアドバイザリ（GHSA-vwvw-f6v4-w737）があります。

## 評価
| 評価元 | 版 | 点数 | ベクター |
|---|---|---|---|
| VulnCheck | CVSS v3.1 | 7.8（High） | AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| VulnCheck | CVSS v4.0 | 8.5（High） | AV:L/AC:L/AT:N/PR:N/UI:P、機密性・完全性・可用性とも高 |

- CISA の SSVC（11/5 時点）は、悪用の状況が「概念実証あり（poc）」、自動化は不可（no）、技術的影響は全面的（total）です。
- 認証は不要ですが、ローカルでファイルを読み込む操作が前提で、9 未満のため、基準に沿い severity は **high** を案とします（確定はオーナーの判断待ち）。
- CISA の KEV には載っていません。FIRST の EPSS は取得時点（2026-11-06）でまだ値がありません。

## 対策として考えられること
1. h5io を 0.2.6 以降へ更新します。h5io を内部で使う他のソフトウェア（解析ツールなど）を使っている場合は、その利用先が導入している h5io の版も確認します。
2. 更新するまでは、出所の分からない HDF5 ファイルを `read_hdf5()` で読み込まないようにします。共有されたデータを読み込む場合は、送り主を確かめます。
3. 解析用の環境は低権限のアカウントで動かし、認証情報や重要なデータを同じアカウントに置かないようにします。

## 未確認の点
- 実際の悪用の有無と、概念実証の具体的な公開状況（SSVC には poc とあるが、公開先は未確認）。
- h5io を依存関係として使うソフトウェアの範囲と、その実際の影響。
- 0.2.6 での修正の詳細（修正コミットの中身は未精査）。
- NVD の最終評価（現状は評価前）。


## 出典
- [NVD CVE-2026-120499](https://nvd.nist.gov/vuln/detail/CVE-2026-120499) — NIST NVD
- [VulnCheck Advisory](https://www.vulncheck.com/advisories/h5io-before-0.2.6-arbitrary-code-execution-via-read-hdf5) — VulnCheck
- [GitHub Security Advisory GHSA-vwvw-f6v4-w737](https://github.com/h5io/h5io/security/advisories/GHSA-vwvw-f6v4-w737) — h5io プロジェクト
- [h5io 0.2.6 リリース](https://github.com/h5io/h5io/releases/tag/h5io-0.2.6) — h5io プロジェクト
- [h5io 修正コミット afff1d6](https://github.com/h5io/h5io/commit/afff1d61b31790f8c27e6c577bb7703eb1883ddd) — h5io プロジェクト
- [FIRST EPSS API](https://api.first.org/data/v1/epss?cve=CVE-2026-120499) — FIRST
- [CISA KEV カタログ](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/h5io-cve-2026-120499-read-hdf5-crafted-hdf5-file-eval-pickle-arbitrary-code-execution