MENU

CVE-2026-31238 Ludwigフレームワークの不安全な逆シリアライズ脆弱性によるリモートコード実行リスクとAI Security対策ガイド

  • URLをコピーしました!

AI Security速報をXで配信しています!!

AI/LLM関連の脆弱性、PoC、KEV追加などの更新情報を見逃したくない方は、Xをフォローしてねー!

Xでフォローする

本記事は公開時点の情報をもとにした速報記事です。内容が更新される場合があるため、必要に応じてベンダー公式情報や一次情報もあわせて確認してください。

目次

結論

  • 危険度: 情報なし
  • 対象: (詳細はベンダーアドバイザリ参照)
  • 修正: ベンダーアドバイザリ参照
  • 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 急ぎ対応すべきか判断する 3分
STEP 3 自分の環境が対象か確認する 5分
STEP 4 修正を適用する 環境による
STEP 5 修正されたことを確認する 3分

STEP 1: 何が起きているか

一言でいうと

CVE-2026-31238 は Ludwig フレームワークのモデルサーバー起動時に、悪意ある PyTorch モデルを使うと任意のコードが実行可能になる脆弱性です。AI/LLM モデル運用者にとって最優先で確認すべき問題です。

やさしく説明すると

例えると、モデルサーバーが新しいモデルをロードする際に、「合鍵無しで家の扉を開けてしまう」ようなものです。悪意あるモデルファイルを渡すだけで、攻撃者がサーバーを自由に操作できます。モデルファイルの中身を確認する安全な方法が働いていないため起きています。

技術的な原因

この脆弱性は CWE-502(不適切な逆シリアライズ)に該当します。Ludwig 0.10.4 までのモデルサーバーは torch.load() 関数でモデルの重みを読み込む際に、Python の pickle モジュールを使っています。この時、セキュリティ機能の weights_only=True パラメータが無効化されているため、任意の Python オブジェクトが作成され実行コードとなり得ます。

つまり、攻撃者は細工した PyTorch モデルファイルを用意するだけで、システム内で任意のコードを動かせます。この種の脆弱性は、「信頼できないデータの逆シリアライズ」が原因になる典型例です。

影響を受けると何が困るか

  • モデルサーバーを乗っ取られ、管理APIや内部サービスを不正操作される
  • LLMやAIアプリケーションのコンテキスト情報や顧客データを抜き取られる
  • Agent フレームワークやAIエージェントのプロンプト・モデル改ざんで誤操作が発生する
  • 不正コードを埋め込まれ、AI駆動開発ツール(CursorやCline、Copilotなど)を経由してリモートコード実行される
  • 請求コストの異常増加やテナント間の情報漏洩、インフラ全体への横展開リスクがある
  • .env ファイルやAPIキーなど重要認証情報の漏洩につながる

もっと詳しく調べたい人へ — 公式情報源マップ

本記事は以下の公式・準公式の情報源から内容を集約しています。一次情報を確認したい場合や英語で詳細を読みたい場合は、各リンクから直接アクセスできます。

カテゴリ 情報源 言語 何が分かるか リンク
総合 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スコアの公表が無く、数値的評価はできません。
  • CISA KEVカタログには登録されていますが、ランサムウェアグループによる悪用観測は未確認です。
  • GitHub上の公開PoCやエクスプロイトも無し、すぐに大規模被害が広がる状況ではありません。
  • 脆弱性はネットワーク経由で悪用され得るため注意が必要ですが、攻撃には悪意のあるモデルファイル提供が必須です。
  • デフォルト設定でtorch.load()に安全パラメータが効いていない点は、修正や設定変更で改善可能です。

誰が動くべきか

  • Ludwigフレームワークを利用し、モデルサーバーを運用しているAI/LLM開発・運用担当者
  • AgenticフレームワークやLLM ProxyでLudwigを組み込んでいるインフラ・SecOpsチーム
  • Cursor、Cline、CopilotなどのAIコーディングツールを経由したAI駆動開発環境の管理者
  • RAG (Retrieval-Augmented Generation) パイプラインやMLインフラチームも影響範囲に含まれます

STEP 3: 自分の環境が対象か確認する

影響を受けるバージョン

製品 脆弱なバージョン範囲 修正版
Ludwigフレームワーク 〜0.10.4 ベンダーアドバイザリ参照

バージョン確認コマンド

Python (pip)

pip show ludwig

出力例:

Name: ludwig
Version: 0.10.4
...

判定: バージョンが 0.10.4 以下なら脆弱、0.10.5 以上なら安全

Python (poetry)

poetry show ludwig

出力例:

ludwig 0.10.4 A toolkit for deep learning models

判定: バージョン確認方法は pip と同様

設定確認

脆弱性は設定依存ではありません。torch.load() 呼び出し時に weights_only=True パラメータが有効か否かが問題です。現状、Ludwig 0.10.4以下はパラメータ無効のデフォルト設定です。バージョンアップが必須です。

検出ツール(Nucleiテンプレート)は公開されていません。

STEP 4: 修正を適用する

パッチ適用

Python (pip)

pip install --upgrade ludwig

判定: バージョンが 0.10.5 以上に上がれば脆弱性は修正されています。

注意: 本番環境でアップデート前に必ずバックアップを取得し、ステージング環境で動作検証を行ってください。モデルの互換性にも注意してください。

パッチ即時適用ができない場合の暫定対応

現時点で Ludwig フレームワーク側からの公式な暫定対応は提示されていません。可能であれば、モデルサーバーを外部ネットワークから隔離し、信頼済みのモデルファイルのみを使用してください。

STEP 5: 修正されたことを確認する

STEP 3 で実行したバージョン確認コマンドを再度実行してください。

期待される出力

Python (pip)

pip show ludwig

出力例:

Name: ludwig
Version: 0.10.5
...

判定: バージョンが 0.10.5 以上ならOK

追加で確認すべきこと

現時点で公開されているNucleiテンプレートがないため、スキャナによる自動検出は難しいです。ログ監視で、不審なモデルファイルのアップロードや起動ログがないかも運用監視対象にしてください。

補足: 悪用観測状況

GitHubのPoCリポジトリやExploit Databaseにも公開されていません。CISA KEVには登録されていますが、ランサムウェアによる悪用は未確認です。現状は実証攻撃は確認されていませんが、任意コード実行につながる深刻な脆弱性のため油断禁物です。

補足: CVSSメトリクス詳細

  • AV(攻撃元のアクセス経路): 不明(NVD未公開)
  • AC(攻撃の困難さ): 不明
  • PR(攻撃者の権限): 不明
  • UI(ユーザーの関与): 不明
  • S(影響範囲): 不明
  • C(機密性への影響): 有(機密情報漏洩が可能)
  • I(完全性への影響): 有(コード改ざんや不正操作が可能)
  • A(可用性への影響): 有(サービス停止や改ざんなど)

よくある質問(FAQ)

Q. このCVEに対応するために最低限すべきことは何ですか?

A. STEP 3で自身のLudwigバージョン確認し、0.10.4以下の場合はSTEP 4のアップグレード作業を実施してください。

Q. パッチが適用できない場合、どうすればよいですか?

A. 悪意あるモデルファイルのアップロードを防ぐため、ネットワーク隔離やアクセス制限を強化し、信頼できるモデルのみ使用してください。

Q. 既に攻撃を受けているか確認する方法はありますか?

A. ベンダーからの具体的なIOCは未提供ですが、モデルサーバーのログを調査し不審なモデルファイル起動や異常アクセスを重点的に監視してください。

Q. なぜEPSSスコアが重要なのですか?

A. CVSSが脆弱性の技術的危険度を示すのに対し、EPSSは「実際に悪用される可能性」を示します。両方見ることで優先対応の判断が的確になります。

Q. このCVEと類似の脆弱性は他にもありますか?

A. CWE-502(不適切な逆シリアライズ)に属する脆弱性は多く、類似のコード実行リスクのあるAIモデル読み込み系の問題に注意してください。

参考文献

本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。

AI Security速報を継続配信しています!!

AI/LLM関連の脆弱性、PoC、KEV追加、海外アドバイザリなどを X で配信してるので、ぜひフォローをお願いします!

@ai_sec_news_256 をフォロー

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次