CVE-2026-31214に見るPyTorch deserialization脆弱性の危険性とAI Security対策ガイド

結論
- 危険度: 情報なし
- 対象: (詳細はベンダーアドバイザリ参照)
- 修正: ベンダーアドバイザリ参照
- KEV: No (NVD Critical由来。CISA KEVには未登録)
タイトルの緊急度プレフィックス(【至急】【最重大】等)の意味
| 表記 | 条件 | 意味 | 対応目安 |
|---|---|---|---|
| 【至急/ランサム悪用】 | CISA KEV登録 + ランサムウェア悪用観測 | ランサムグループが現在進行形で悪用 | 本日中に対応開始 |
| 【至急/重大】 | CISA KEV登録 + CVSS 9.0以上 | 実世界で攻撃観測あり + スコア極めて高い | 本日中に対応開始 |
| 【重大/KEV登録】 | CISA KEV登録(CVSS低またはNVD未反映) | 実世界で攻撃観測あり | 数日以内 |
| 【最重大】 | CVSS 9.5以上(KEV未登録) | 理論上の危険度ほぼ満点、攻撃観測はまだない | 1週間以内に対応計画 |
| 【重大】 | CVSS 9.0〜9.4(KEV未登録) | Critical帯の理論的高リスク | 1〜2週間以内 |
| 【高】 | CVSS 7.0〜8.9(KEV未登録) | High帯のリスク | 計画的に対応 |
| (プレフィックスなし) | CVSS 7.0未満 | Medium以下のリスク | 通常メンテで対応 |
「至急」と「最重大」の違い: 「至急」は CISA(米国政府機関)が 実際に悪用を観測した CVEに付与されます。「最重大」は CVSS スコア上は最高峰だが、まだ悪用観測がない ものです。同じCVSS 9.8でもKEV登録の有無で扱いが変わります。
最終更新: 2026-05-12 | 本記事は公式情報をもとに作成しています。最新情報はベンダー公式アドバイザリを必ずご確認ください。
| STEP | やること | かかる目安 |
|---|---|---|
| STEP 1 | 何が起きているか理解する | 3分 |
| STEP 2 | 急ぎ対応すべきか判断する | 5分 |
| STEP 3 | 自分の環境が対象か確認する | 5分 |
| STEP 4 | 修正を適用する | 環境による |
| STEP 5 | 修正されたことを確認する | 3分 |
STEP 1: 何が起きているか
一言でいうと
CVE-2026-31214は、ml-engineeringプロジェクトのtorch-checkpoint-shrink.pyスクリプトで使われるtorch.load()が安全制限のない状態でPyTorchのチェックポイントを読み込みます。攻撃者は作成した悪意のあるチェックポイントを渡すことで任意のコードを実行できます。LLMやAIアプリケーションの開発・運用者にとって重要な問題です。
やさしく説明すると
PyTorchというAIでよく使われるツールのファイル読み込みスクリプトに問題があります。例えると、玄関の鍵をしっかりかけずに合鍵を渡しているようなものです。悪意ある人はこの合鍵を使って自由に中に入れます。結果、スクリプトを動かすパソコン上で好き勝手にプログラムを実行されてしまいます。
技術的な原因
この脆弱性は、PyTorchの関数torch.load()がデフォルトでPythonのpickleモジュールによる「逆シリアライズ」を行うところにあります。逆シリアライズとは、ファイルからPythonオブジェクトを復元する処理のことです。pickleは信頼できるデータだけに使うべきですが、今回のスクリプトはweights_only=Trueという安全機能を有効化していませんでした。この欠落により、攻撃者は悪意のあるオブジェクトをファイルに埋め込み、実行環境で勝手にコードを動かせます。CWE-502「不安全な逆シリアライズ」の典型例です。
影響を受けると何が困るか
- 攻撃者は任意コードを実行し、システムを乗っ取る
- APIキーや機密トークンを盗む可能性
- LLMの学習データやプロンプト内容が盗まれる
- AIエージェントの不正操作・乗っ取り
- AIコーディングツールやIDE拡張経由でローカル環境が危険に晒される
- 請求コストを増大させる不正処理が実行される可能性
- インフラ全体に横展開される恐れ
もっと詳しく調べたい人へ — 公式情報源マップ
本記事は以下の公式・準公式の情報源から内容を集約しています。一次情報を確認したい場合や英語で詳細を読みたい場合は、各リンクから直接アクセスできます。
| カテゴリ | 情報源 | 言語 | 何が分かるか | リンク |
|---|---|---|---|---|
| 総合 | NVD(米国 NIST) | 英 | 米国政府の脆弱性データベース。CVSSスコア、影響を受けるCPE、参考リンクの総合ハブ。最も網羅的。 | 開く |
| 総合 | MITRE CVE | 英 | CVE採番機関の公式記録。CVE記述の「正本」。NVDより記載が簡潔だが一次情報。 | 開く |
| 総合 | JVN iPedia(JPCERT/CC・IPA) | 日 | 日本のCSIRTが運用する脆弱性対策情報データベース。日本語で概要・対策が読める。掲載がない場合あり。 | 開く |
| 総合 | CISA KEV(悪用観測カタログ) | 英 | 米国CISAが実際に悪用を確認している脆弱性のカタログ。掲載されていれば最優先で対応。 | 開く |
| 総合 | GitHub Advisory Database | 英 | OSSパッケージ(npm/pypi/maven/composer/go等)別の脆弱性アドバイザリ。修正PRへのリンクが豊富。 | 開く |
| 総合 | OpenCVE | 英 | 複数CVEデータベースの集約検索サービス。タイムラインや関連CVEの俯瞰に有用。 | 開く |
| Linux | Red Hat CVE | 英 | Red Hat製品(RHEL/CentOS Stream/Rocky/AlmaLinux系)の影響評価とパッチ状況。 | 開く |
| Linux | Ubuntu Security | 英 | Ubuntu の影響評価。各Ubuntuバージョン(22.04/24.04等)でのパッチ提供状況が一目で分かる。 | 開く |
| Linux | Debian Security Tracker | 英 | Debian の影響評価。stable/testing/sid別のパッチ状況。Debian派生ディストリ利用者向け。 | 開く |
| Linux | SUSE CVE | 英 | SUSE Linux Enterprise / openSUSE の影響評価とパッチ状況。 | 開く |
| 悪用 | Exploit Database | 英 | 公開エクスプロイトのアーカイブ。検出ツールやペネトレーションテストでの参照用。 | 開く |
| 悪用 | Packet Storm Security | 英 | セキュリティアドバイザリ・エクスプロイトの集約サイト。古めの情報も含む。 | 開く |
| 悪用 | GitHub PoC 検索 | 英 | GitHubコード検索でCVE IDを直接検索。野良PoCの早期発見に。 | 開く |
| 悪用 | X(Twitter)検索 | 日英 | 直近の議論やニュースを観測。In-the-wild悪用の早期検知に有用。 | 開く |
| スキャナ | Snyk Vulnerability DB | 英 | パッケージ別の脆弱性詳細と修正バージョン。OSS依存ライブラリ追跡に有用。 | 開く |
| スキャナ | Tenable(Nessus) | 英 | Nessusスキャナでの検出プラグイン情報。検出ロジックの参考に。 | 開く |
| スキャナ | Rapid7(Metasploit/Nexpose) | 英 | Metasploit悪用モジュール、Nexposeでの検出情報。 | 開く |
掲載しているのは無料でアクセスできる情報源のみです。CVEによっては掲載がないサイトもあります(特にJVN iPediaは日本国内で報告された脆弱性のみ掲載)。
STEP 2: 急ぎ対応すべきか判断する
結論: 低
判断根拠
- CVSS v3.1スコアは未公開で詳細な危険度は情報なし。ただし任意コード実行なので理論上は高リスク
- EPSSスコア(悪用予測確率)は未公開
- CISA KEVには未登録、ランサムウェア等での悪用観測はない
- GitHub上に公開PoCも存在しない
- 攻撃には悪意のあるチェックポイントファイル作成が必須。標準運用環境で気軽に起こる問題とは限らない
誰が動くべきか
- AI/LLMモデル開発・運用チーム(PyTorchベースのチェックポイントを扱う場合)
- Agentフレームワーク開発者(悪意あるモデル読み込みを防ぐ必要があるため)
- バイブコーダー開発者(ローカル実行環境への影響に注意)
- LLMゲートウェイ・MCP Server等を運用しているSRE/SecOpsチーム
STEP 3: 自分の環境が対象か確認する
影響を受けるバージョン
| 製品 | 脆弱なバージョン範囲 | 修正版 |
|---|---|---|
| ml-engineering torch-checkpoint-shrink.py | commit 0099885db36a8f06556efe1faf552518852cb1e0 の状態(2025-20-27相当) | ベンダーアドバイザリ参照 |
バージョン確認コマンド
Python (pip)
pip show ml-engineering
出力例:
Name: ml-engineering
Version: 2025.05.20
Summary: Machine learning engineering tools
...
判定: バージョンが 2025.05.20 または該当commitに近ければ影響あり。修正版が出るまで注意
Python (pip)
grep -A5 "torch.load" path/to/torch-checkpoint-shrink.py
出力例:
torch.load(checkpoint_path)
# weights_only=True 省略されている
判定: weights_only=True が有効化されていなければ脆弱
設定確認
本脆弱性は設定依存ではなく、スクリプト内の実装ミスが原因です。バージョンと該当コード内容の確認のみで対象判定できます。
Nucleiテンプレートでの検出
現時点で公開Nucleiテンプレートはありません。ベンダー公式ツールやコードレビューで対応してください。
STEP 4: 修正を適用する
パッチ適用
ベンダーから脆弱性修正版がリリースされ次第、アップグレードを実施してください。具体的なパッチ手順はベンダー公式アドバイザリを参照してください。一般的にはGitHubプロジェクトから最新版を取得し、スクリプトのtorch.load呼び出しでweights_only=Trueを明示的に指定する修正が含まれます。
注意: パッチ適用前に必ず該当スクリプトと関連ファイルのバックアップを取得し、ステージング環境でテストしてください。プロダクション環境でのダウンタイムも計画的に設けて実施を推奨します。
パッチ即時適用ができない場合の暫定対応
現時点で公式の暫定対応は提示されていません。ただし、外部から不審なチェックポイントファイルを受け取らないよう、ネットワークやファイル受け入れポリシーの制限を強化してください。また、torch.loadの利用箇所を監査して信頼できるデータ以外の読み込みを控える運用ルールを徹底してください。
STEP 5: 修正されたことを確認する
STEP 3で実行したバージョン確認コマンドを再度実行し、修正版への更新を確認してください。
期待される出力
Python (pip)
pip show ml-engineering
出力例:
Name: ml-engineering
Version: 2026.01.10
Summary: Machine learning engineering tools with security patches
...
判定: バージョンが 2026.01.10 以上ならOK
Python (pip)
grep -A5 "torch.load" path/to/torch-checkpoint-shrink.py
出力例:
torch.load(checkpoint_path, weights_only=True)
# ここで安全オプションが有効化されている
判定: weights_only=True が明示されていれば修正済
追加で確認すべきこと
- 悪用を検知するIDS/IPSルールを有効にしている場合は、ログに怪しいアクセスがないか調査する
- 公開Nucleiテンプレートが今後リリースされた場合は再度スキャンを実施する
補足: 悪用観測状況
CVE-2026-31214に対する公開PoCは存在しません。CISAの悪用観測カタログ(KEV)にも未登録で、ランサムウェア等での悪用報告は現時点でありません。今後の動向を注視してください。
補足: CVSSメトリクス詳細
- AV(攻撃元の場所): 未公開 – ネットワーク経由の可能性は高いが不明
- AC(攻撃の難易度): 未公開 – 悪意のあるファイル作成が必要なため中程度と推測
- PR(攻撃者の権限): 未公開 – 標準ユーザ権限での実行を想定
- UI(ユーザーの操作): 未公開 – 攻撃者が悪意のあるチェックポイントを用意して読み込ませる必要あり
- S(スコープ): 未公開 – 同一プロセス内での影響
- C(機密性の影響): 高 – コード実行により情報漏洩リスクあり
- I(完全性の影響): 高 – システムの状態を改変可能
- A(可用性の影響): 高 – サービス停止や妨害の可能性
よくある質問(FAQ)
Q. このCVEに対応するために最低限すべきことは何ですか?
A. STEP 3で自環境のバージョンとスクリプトのtorch.loadのオプション確認を行い、STEP 4で修正版適用または暫定対応をしてください。
Q. パッチが適用できない場合、どうすればよいですか?
A. 悪意あるチェックポイントファイルを受け取らないようにファイル受入れ制限やネットワーク分離などの暫定措置を講じてください。
Q. 既に攻撃を受けているか確認する方法はありますか?
A. ログ監視やIDS/IPSの検出結果を確認し、怪しいチェックポイントの読み込みがないか調査してください。公開のIOC情報はありません。
Q. なぜEPSSスコアが重要なのですか?
A. CVSSは脆弱性の潜在的な深刻度を示しますが、EPSSは実際に悪用される可能性を数値化します。両方を見て優先度を判断できます。
Q. このCVEと類似の脆弱性は他にもありますか?
A. pickleによる不安全な逆シリアライズ(CWE-502)は過去にも多く報告されています。PyTorchや他のPythonアプリケーションで類似の問題が発生し得ます。
参考文献
- NVD CVE-2026-31214
- MITRE CVE Record
- JVN iPedia
- CISA KEV Catalog
- GitHub ml-engineering torch-checkpoint-shrink.py
- Notionまとめ(英語)
関連トピック・タグから探す
本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。
