---
title: "labbench 0.46.1 未満の CVE-2026-120833: .p・.pickle ファイルを読み込むと任意コード実行。CVSS v3.1 7.8"
url: https://n-t-p.io/worldsecurity/articles/labbench-pickle-deserialization-read-read-relational-code-execution-cve-2026-120833
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月3日
updated: 2026年11月3日
severity: 高
cve: CVE-2026-120833
---

# labbench 0.46.1 未満の CVE-2026-120833: .p・.pickle ファイルを読み込むと任意コード実行。CVSS v3.1 7.8

> **TL;DR:** Python ライブラリー labbench の `read()`・`read_relational()` が `.p`・`.pickle` を拡張子だけで `pandas.read_pickle` に渡し、細工したファイルを読み込むと任意コードが実行される可能性がある（CVE-2026-120833）。0.46.1 未満が対象で、0.46.1 で既定拒否に変更。CVSS v3.1 7.8（VulnCheck）、KEV なし、EPSS は未算定。

**要点**
- `read()`・`read_relational()` が拡張子だけで pickle を読み込み、細工したファイルで任意コード実行の可能性（CWE-502、VulnCheck が CNA）
- CVSS v3.1 7.8（AV:L/UI:R）、v4.0 8.5。ローカルでファイルを開かせる条件のため、本サイトでは high
- 修正版 0.46.1 は `LABBENCH_AUTOLOAD_PICKLE` が未設定なら .p・.pickle の読み込みを拒否する。更新が第一の対策
- 悪用の実態は未確認。KEV なし、EPSS は未算定、NVD は Received（分析前）

Python の計測・実験自動化ライブラリー labbench に、信頼できないデータのデシリアライズ（CWE-502）の問題 CVE-2026-120833 が公開されました。NVD は 2026-11-03 に登録し、状態は Received（分析前）です。VulnCheck が CNA として CVSS v3.1 7.8、v4.0 8.5 を付けています。`read()` と `read_relational()` が、拡張子が `.p` または `.pickle` のファイルを、拡張子だけを根拠に `pandas.read_pickle` へ渡すため、細工したデータファイルやリレーショナルデータのアーカイブを読み込んだ利用者の環境で、任意のコードが実行される可能性があります。修正版 0.46.1 は公開済みです。

## 概要

| 項目 | 内容 |
|---|---|
| CVE | CVE-2026-120833 |
| 製品 | labbench（PyPI パッケージ。NVD の対象データ上のベンダーは NIST） |
| 問題 | `read()` と `read_relational()` が `.p`・`.pickle` を拡張子だけで `pandas.read_pickle` に渡す（CWE-502） |
| 攻撃条件 | 攻撃者が細工したファイルを、利用者が上記の関数で読み込むこと（ローカル、ユーザー操作が必要） |
| 結果 | 読み込んだ利用者の権限での任意コード実行 |
| 対象版 | 0.46.1 未満 |

- pickle は読み込み時にオブジェクトの復元処理を実行できる形式で、信頼できない出所のファイルを読むとコード実行につながります。
- 攻撃者がネットワーク越しに直接到達する問題ではありません。共有された測定データ、外部から受け取った実験結果、ダウンロードしたデータセットなどを `labbench.read` で開く運用が入口になります。
- 測定器を制御する端末で実行されると、接続された機器や研究データへの影響が懸念されます。ただし、実際の悪用は確認されていません。

## 影響範囲

NVD の対象データでは、labbench の 0.46.1 未満（0.46.0 以前）が影響を受けるとされています。0.46.0 のソースでは `src/labbench/_data.py` の該当箇所が参照されています。

- `read()` と `read_relational()` を使わず、pickle 形式のファイルを読み込まない運用であれば、この問題の入口にはなりません。
- 他のライブラリー経由で labbench の読み込み関数が呼ばれているかは、利用中のコードで確認する必要があります。

## 修正と対策

- **0.46.1 以降へ更新する。** 変更履歴によると、0.46.1 では `read` と `read_relational` が、環境変数 `LABBENCH_AUTOLOAD_PICKLE` が設定されていない限り `.p`・`.pickle` の読み込みを拒否するようになりました。
- 更新後も `LABBENCH_AUTOLOAD_PICKLE` を設定すると、従来どおり pickle を読み込みます。信頼できる出所のファイルに限る場合を除き、設定しないでください。
- 出所の分からない `.p`・`.pickle` ファイルや、それを含むアーカイブを `labbench.read` で開かない。
- 共有する測定データは、pickle ではなく CSV や HDF5 など、コードを含まない形式に切り替える。
- 研究・測定用の端末は、管理用の資格情報や機器の制御権限を持たせない低権限のアカウントで動かす。

## 数値と出典（2026-11-03 時点）

| 項目 | 内容 |
|---|---|
| NVD の状態 | Received |
| CVSS v3.1 | 7.8（VulnCheck、CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H） |
| CVSS v4.0 | 8.5（VulnCheck、AV:L/AC:L/AT:N/PR:N/UI:P） |
| CWE | CWE-502（信頼できないデータのデシリアライズ） |
| EPSS | 未算定（FIRST、2026-11-03 時点） |
| KEV | 掲載なし（CISA のカタログを確認） |
| 出典 | NVD、VulnCheck（CNA）、FIRST、CISA、labbench の変更履歴と修正コミット |

## 未確認の点

- NVD による独自の分析と、CVSS の見直し。
- 実際の攻撃での悪用の有無（KEV 掲載なし、EPSS は未算定）。
- `LABBENCH_AUTOLOAD_PICKLE` を設定した環境で、0.46.1 以降でも同じ危険が残ることの影響範囲（設定した利用者の判断に依存する）。
- 0.46.1 より前の版のうち、`read_relational` が導入された版の範囲。


## 出典
- [NVD CVE-2026-120833](https://nvd.nist.gov/vuln/detail/CVE-2026-120833) — NIST NVD
- [labbench 0.46.1 変更履歴](https://github.com/usnistgov/labbench/blob/0.46.1/ChangeLog.md) — labbench プロジェクト
- [labbench 修正コミット](https://github.com/usnistgov/labbench/commit/ac9b9b18cba67cb8e85eb563b6bb7dc1092b4c54) — labbench プロジェクト
- [labbench 0.46.1（PyPI）](https://pypi.org/project/labbench/0.46.1/) — PyPI
- [FIRST EPSS](https://api.first.org/data/v1/epss?cve=CVE-2026-120833) — FIRST
- [CISA KEV カタログ](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/labbench-pickle-deserialization-read-read-relational-code-execution-cve-2026-120833