---
title: "PyMoDAQ・pymodaq_data などの CVE-2026-120859: 細工した HDF5・dock・XML 設定ファイルを開くだけで任意の Python コードが動く恐れ（VulnCheck 評価 CVSS v3.1 7.8）"
url: https://n-t-p.io/worldsecurity/articles/pymodaq-cve-2026-120859-crafted-hdf5-dock-xml-files-pickle-eval-arbitrary-code-execution
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月7日
updated: 2026年11月7日
severity: 高
cve: CVE-2026-120859
---

# PyMoDAQ・pymodaq_data などの CVE-2026-120859: 細工した HDF5・dock・XML 設定ファイルを開くだけで任意の Python コードが動く恐れ（VulnCheck 評価 CVSS v3.1 7.8）

> **TL;DR:** PyMoDAQ 4.4.13 より前と、pymodaq_data・pymodaq_gui・pymodaq_utils の 5.1.15・5.2.14・5.3.10 より前は、HDF5・dock・XML 設定ファイルの内容を pickle や eval で復元する。細工したファイルを開くだけで、開いたユーザーの権限で任意の Python コードが動く恐れ。VulnCheck 評価は CVSS v3.1 7.8（v4.0 は 8.5）。修正版あり。悪用の有無は未確認。

**要点**
- PyMoDAQ 4.4.13 より前と、部品（pymodaq_data・pymodaq_gui・pymodaq_utils）の 5.1.15・5.2.14・5.3.10 より前で、ファイルの内容を pickle・eval で復元する（CWE-502・CWE-95）。
- 経路は HDF5 の文字列ノードと属性、Dashboard で読み込む .dock ファイル、XML 設定ファイルの 4 つ。細工したファイルを開くと、そのユーザーの権限で任意の Python コードが動く恐れ。
- VulnCheck 評価は CVSS v3.1 7.8（AV:L・UI:R）、v4.0 は 8.5。severity 案は high。
- 修正版は 4.4.13・5.1.15・5.2.14・5.3.10。出所の分からないファイルは更新まで開かない。
- KEV 掲載なし、EPSS は未算出。悪用・概念実証、部品ごとの正確な範囲、NVD 最終評価は未確認。

実験装置の制御・データ取得用の Python フレームワーク PyMoDAQ と、その部品である pymodaq_data・pymodaq_gui・pymodaq_utils に、ファイルの内容を検証せず復元するため、細工したファイルを開くだけで任意の Python コードが実行される恐れのある欠陥（CVE-2026-120859）が報告されました。NVD への登録は 2026-11-05、状態は Received（評価前）で、登録元は VulnCheck です。

## 何が起きるか
- 信頼できないデータの復元（CWE-502）と、文字列を式として実行する処理（eval）の 2 種類の経路があります。いずれも、悪意あるファイルを開いたユーザーの権限でコードが動きます。
- 経路は次の 4 つです。
  1. HDF5 の文字列ノードを `StringARRAY.array_to_string()` が `pickle.loads()` に渡す。h5browser で開く、またはデータローダーで読み込むと動く。
  2. HDF5 の属性に書かれた Python の式を `JsonConverter.json2object()` が評価する。
  3. Dashboard の「Load layout」で読み込む `.dock` ファイルを `load_layout_state()` が pickle で復元する。
  4. XML の設定ファイルの値を `elt_to_dict()`・`set_txt_from_elt()` が評価する。
- 前提として、被害者が悪意あるファイルを自分で開く必要があります（UI:R）。共同研究者から受け取ったファイルや、ダウンロードしたデータが入口になり得ます。ネットワーク越しに直接攻撃されるものではありません（AV:L）。
- 開発元の GitHub アドバイザリには、上記のほか Data Mixer 拡張の数式エディタも対象として書かれています。

## 影響を受ける版
| 対象 | 影響する版（NVD の記載） |
|---|---|
| PyMoDAQ（4.4 系の単一パッケージ） | 4.4.13 より前 |
| pymodaq_data・pymodaq_gui・pymodaq_utils | 5.1.15 より前、5.2 系は 5.2.14 より前、5.3 系は 5.3.10 より前 |

修正版として 4.4.13、5.1.15、5.2.14、5.3.10 のリリースが NVD の参照先にあります。GitHub のアドバイザリでは、部品ごとに修正版の番号が細かく分かれて書かれており（5.0 系・5.1 系の番号が NVD の記載と一部異なります）、使っている部品ごとに確認が必要です。

## 評価
| 評価元 | 版 | 点数 | ベクター |
|---|---|---|---|
| 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、機密性・完全性・可用性とも高 |

- 認証は不要ですが、ローカルでファイルを開く操作が前提で、9 未満のため、基準に沿い severity は **high** を案とします（確定はオーナーの判断待ち）。
- CISA の KEV には載っていません。FIRST の EPSS は取得時点（2026-11-06）でまだ値がありません。

## 対策として考えられること
1. PyMoDAQ を 4.4.13 以降、部品は 5.1.15・5.2.14・5.3.10 以降のうち使っている系統の修正版へ更新します。
2. 更新するまでは、出所の分からない `.h5`・`.dock`・XML 設定ファイルを PyMoDAQ で開かないようにします。共有されたデータを開く場合は、送り主を確かめます。
3. 実験用の PC では、PyMoDAQ を専用の低権限アカウントで動かし、装置制御用の資格情報や重要なデータを同じアカウントに置かないようにします。

## 未確認の点
- 実際の悪用の有無と、概念実証の公開状況。
- 5.0 系を含む、部品ごとの正確な影響範囲と修正版の対応（NVD と GitHub のアドバイザリで記載が異なる）。
- 同じ HDF5 を扱う他のソフトウェアへの波及。
- NVD の最終評価（現状は評価前）。


## 出典
- [NVD CVE-2026-120859](https://nvd.nist.gov/vuln/detail/CVE-2026-120859) — NIST NVD
- [VulnCheck Advisory](https://www.vulncheck.com/advisories/pymodaq-before-5.3.10-arbitrary-code-execution-via-crafted-hdf5-dock-layout-and-xml-settings-files) — VulnCheck
- [GitHub Security Advisory GHSA-jw9g-5c9x-cf84](https://github.com/PyMoDAQ/PyMoDAQ/security/advisories/GHSA-jw9g-5c9x-cf84) — PyMoDAQ プロジェクト
- [PyMoDAQ 4.4.13 リリース](https://github.com/PyMoDAQ/PyMoDAQ/releases/tag/4.4.13) — PyMoDAQ プロジェクト
- [PyMoDAQ 5.3.10 リリース](https://github.com/PyMoDAQ/PyMoDAQ/releases/tag/5.3.10) — PyMoDAQ プロジェクト
- [FIRST EPSS API](https://api.first.org/data/v1/epss?cve=CVE-2026-120859) — FIRST
- [CISA KEV カタログ](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/pymodaq-cve-2026-120859-crafted-hdf5-dock-xml-files-pickle-eval-arbitrary-code-execution