脆弱性・CVE速報深刻度: 中

医療画像 AI の MONAI 1.6.0 で Auto3DSeg の作業フォルダ読み込みから任意コード実行(CVE-2026-119578): 1.6.1 で修正

目次(6)

CVE-2026-119578

NVD は 2026-10-30(14:16 UTC)に、医療画像向け AI フレームワーク MONAI の CVE-2026-119578 を登録しました。説明によると、1.6.0 から 1.6.1 の前までの Auto3DSeg(自動学習機能)は、作業フォルダ内の algo_object.json を読み込む algo_from_json() で、ファイルに書かれた _target_(Python の名前)を取り込んで実行します。細工した作業フォルダを AutoRunner や import_bundle_algo_history で開くと、既定の設定のまま、フォルダに同梱された Python モジュールのコードが動きます。登録元(CNA)は VulnCheck で、NVD の状態は「Deferred」です。

何が起きるか

  • algo_from_json() は algo_object.json の _target_(取り込んで呼び出す名前)と template_path(モジュール探索パスに加えるフォルダ)を信頼したまま使います。ファイルの隣にある algorithm_templates フォルダも自動で探索パスに加わります。
  • 攻撃に使うのは、共有される成果物(学習結果の出力フォルダ、学習済みアルゴリズムの束、共同作業用フォルダなど)に細工したものです。被害者がそれを読み込んだ時点でコードが動きます。
  • MONAI の GitHub 勧告(GHSA-2wx3-8x3w-r8qv)によると、AutoRunner の初期化時点(データ検証より前)で実行され、MONAI_ALLOW_PICKLE の設定がなくても成立します。
  • 攻撃者が被害者に細工フォルダを開かせる必要があります(CNA の評価でも利用者操作=passive が付いています)。ネットワークから直接は到達できません。

修正の内容

  • MONAI の修正 PR #9115(2026-09-17 マージ)は、_target_ を Algo のサブクラスに限る検査を、実際に取り込む前に行います。修正を含む 1.6.1 は 2026-09-27 に公開されています(PR のマージ後のコミットが 1.6.1 のタグに含まれることを Git の比較で確認)。
  • PR 自身が残る危険を明記しています。名指しされたモジュールを取り込む時点でそのモジュールの先頭のコードが動くため、細工した作業フォルダを開く危険は完全には消えません(PR の説明)。
  • その後の PR #9233(2026-10-29 マージ)は、保存された状態値の扱いを直接値として復元するよう改めたものです。1.6.1 には含まれず、リリース済みの版は 1.6.1 が最新です。

数値と出典(2026-11-01 時点)

項目内容
CVECVE-2026-119578(CWE-470 外部入力による任意クラス・コードの選択)
影響版MONAI 1.6.0 以上 1.6.1 未満(NVD の説明)。つまり 1.6.0
修正版1.6.1(2026-09-27 公開)
CVSS v4.08.5(High、AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H)。VulnCheck(CNA)の値で、NVD 自身の評価はなし。v3.1 なし
状態NVD の状態は「Deferred」
EPSS0.55%(パーセンタイル 46.2%、2026-10-31、FIRST)
KEV掲載なし(CISA の JSON で確認)

severity を medium とした理由

CNA の評価は 8.5 ですが、成立には細工した作業フォルダを被害者が自分で開く必要があり、攻撃経路はローカルです。EPSS は低く、KEV にも載っていません。一方で、成立すれば実行ユーザーの権限でコードが動き、学習用の計算機や機密性の高い医療データを扱う環境では影響が大きいため、medium としました。

対応として考えられること

  1. 利用中の MONAI が 1.6.0 であれば 1.6.1 へ更新します。
  2. 出所が分からない Auto3DSeg の作業フォルダ・学習済みアルゴリズムの束を、AutoRunner や import_bundle_algo_history で開かないようにします。受け取った成果物は、隔離した環境で扱うのが無難です(本記事の推定。公式な回避策は未確認)。
  3. 1.6.1 でも、取り込み時のモジュール先頭のコードが動く点は PR の説明どおり残ります。上の運用を続けます。

未確認の点

  • 実際の悪用は確認していません。攻撃の具体的な手順・細工の内容は本記事には載せません。
  • 1.6.0 より前の版が同じ読み込みの仕組みを持つかは確認していません(NVD は 1.6.0 以上を対象としています)。
  • CVSS は VulnCheck(CNA)の v4.0 の値のみで、NVD 自身の評価は確認できていません。
  • 1.6.1 のリリースノートでの本件の明記は確認できていません。修正が入っていることは Git の履歴から確認しました。
  • 日付は NVD の登録(2026-10-30 14:16 UTC)と GitHub の公開情報に基づきます。

この記事について

出典

この記事を共有