MENU

CVE-2026-4137 mlflowの不適切なディレクトリ権限によるコードインジェクション脆弱性とAIモデル運用者向け対策解説

  • 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-18 | 本記事は公式情報をもとに作成しています。最新情報はベンダー公式アドバイザリを必ずご確認ください。

STEP やること かかる目安
STEP 1 何が起きているか理解する 3分
STEP 2 急ぎ対応すべきか判断する 2分
STEP 3 自分の環境が対象か確認する 5分
STEP 4 修正を適用する 環境による
STEP 5 修正されたことを確認する 3分

STEP 1: 何が起きているか

一言でいうと

CVE-2026-4137は、mlflowのバージョン3.11.0未満で、ローカルファイルシステム上の一時ディレクトリが誰でも書き込み可能に作成され、攻撃者が不正にファイルを改ざんしてAIモデルの任意コード実行が可能になる脆弱性です。AIやLLMを本番投入している運用者にとって最優先で対応すべき問題です。

やさしく説明すると

mlflowというツールが、一時的なファイル置き場(いわば「作業机」)を作るときに、誰でも自由に書き込める状態で作っています。これは例えると、会社の大事な書類を置く机が、社員以外にも勝手に使えてしまう状態です。悪意ある人はそこに不正な書類を置いてしまい、その書類が読み込まれたときに望まない処理を実行させられます。これが「任意コード実行」という大問題です。

技術的な原因

mlflowの関数get_or_create_nfs_tmp_dir()が作成する一時ディレクトリのファイルパーミッションが、0o777(全ユーザーが読み書き実行可能)になっています。さらに、_create_model_downloading_tmp_dir()はグループ書き込み可能(0o770)です。これにより、同じ共有NFS上のローカルユーザーがファイルに不正アクセス・改ざんをできてしまいます。この脆弱性はCWE-378(不十分なアクセス制御)に該当し、クラウドピクルのシリアライズ済みPythonオブジェクトなど重要なモデルアーティファクトが改ざんされるリスクがあります。改ざんされたアーティファクトがcloudpickle.load()で復元される際に任意コードを実行されます。

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

  • 共同利用NFS環境で攻撃者が任意コード実行できるため、AIモデルインフラが乗っ取られる
  • 顧客や社内データなどLLMのコンテキストが窃取されるリスク
  • cloudpickleでシリアライズしたモデルやRAG(Retrieval-Augmented Generation)データが改ざんされ、誤動作や不正応答が生じる
  • AI GatewayやAgentフレームワークでのプロンプト改ざんによるエージェント乗っ取りにつながる可能性
  • AIコーディングツール(Cursor、Cline、GitHub Copilotなど)経由での環境侵害リスク増大
  • 請求コスト増大やテナント間の情報漏洩など運用負荷の激増

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

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

カテゴリ 情報源 言語 何が分かるか リンク
総合 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スコアは未公開ですが、任意コード実行可能かつ共有NFS環境に影響するため高リスクと判断
  • EPSSスコアは未提供であるため悪用予測は不明
  • ランサムウェア悪用の報告は現時点でありません
  • 公開PoCはGitHub上で0件で、既存の武器化は確認できていません
  • 脆弱性の条件は「対象バージョンのmlflowを共有NFS環境で利用し、ローカル攻撃者が存在すること」であり、ネットワーク越しの攻撃は基本的に不可
  • 共有NFS環境(例: Databricks)でmlflowを利用する場合、デフォルト設定で脆弱です

誰が動くべきか

  • LLM GatewayやAIエージェント環境でmlflowを利用し、共有NFSを使用している運用チーム
  • Agentフレームワーク開発者でmlflow経由のモデル管理を行っている開発者
  • AI駆動開発にmlflowを用い、Cursor/Cline/GitHub Copilot等の連携があるバイブコーダー開発者

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

影響を受けるバージョン

製品 脆弱なバージョン範囲 修正版
mlflow < 3.11.0 3.11.0以降

バージョン確認コマンド

Python (pip)

pip show mlflow

出力例:

Name: mlflow
Version: 3.10.2
Summary: MLflow: An open source platform for the machine learning lifecycle.
...

判定: バージョンが 3.11.0 未満なら脆弱、以上なら安全

Python (poetry)

poetry show mlflow

出力例:

name         : mlflow
version      : 3.9.1
description  : MLflow: An open source platform ...
...

判定: バージョンが 3.11.0 未満なら脆弱

Docker

docker images | grep mlflow

出力例:

mlflow               latest            sha256:xxxxxxxxxxxxxx    3 weeks ago

判定: イメージのタグまたはリリース日を確認し、脆弱バージョンなら危険

設定確認

パーミッション問題による脆弱性であり、設定依存ではありません。バージョンが脆弱範囲にあれば危険です。

Nucleiテンプレートでの検出

現在、本脆弱性に対応する公開Nucleiテンプレートは提供されていません。バージョン確認が検出の基本となります。

STEP 4: 修正を適用する

パッチ適用

Python (pip)

pip install --upgrade mlflow

判定: アップグレード後に mlflow のバージョンが 3.11.0 以上であれば適用成功

Docker イメージ更新

docker pull mlflow:latest

判定: 新しいイメージで脆弱バージョンが含まれていないか確認すること

注意: パッチ適用前に必ず環境のバックアップを取得してください。Staging環境で動作検証を行い、本番環境でのサービス停止時間を計画的に管理しましょう。

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

公式の暫定対応は提供されていません。可能な限り、対象となる共有NFS環境のアクセス制御を強化し、信頼できるユーザーだけに利用を制限してください。WAF/IPSでは検出困難なためネットワーク分離も検討してください。

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

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

期待される出力

Python (pip)

pip show mlflow

出力例:

Name: mlflow
Version: 3.11.0
Summary: MLflow: An open source platform for the machine learning lifecycle.
...

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

Python (poetry)

poetry show mlflow

出力例:

name         : mlflow
version      : 3.11.0
description  : MLflow: An open source platform ...
...

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

追加で確認すべきこと

公開Nucleiテンプレートはありませんが、ログ監視で不審なcloudpickle.load()呼び出しや、共有NFS上の不正ファイル操作がないか確認してください。

補足: 悪用観測状況

現時点でCISA KEVには登録されておらず、公開されているPoCもありません。GitHub Advisory Databaseに高リスクアドバイザリはありますが、悪用の報告やランサムウェアへの利用は確認されていません。共有NFS環境に限定的な脆弱性のため、爆発的な攻撃拡大はまだ観測されていません。

補足: CVSSメトリクス詳細

  • AV (Attack Vector): 攻撃者が攻撃可能な範囲。今回の脆弱性はローカルの共有NFS上でのみ有効
  • AC (Attack Complexity): 攻撃が成功するための難易度。環境依存で、共有NFSが必須のため中程度
  • PR (Privileges Required): 攻撃に必要な権限。ローカルユーザー権限が必要
  • UI (User Interaction): 攻撃成功に被害者の操作が必要か。不要
  • C (Confidentiality): 情報漏洩の影響度。顧客データやAPIキー漏洩の恐れあり
  • I (Integrity): データ改ざんの影響度。モデルやRAGデータの改ざんが可能
  • A (Availability): 利用不能への影響は限定的

よくある質問(FAQ)

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

A. STEP 3で自分のmlflowバージョンを確認し、3.11.0未満ならSTEP 4でアップグレードしてください。パッチ適用後はSTEP 5でバージョン確認を実施しましょう。

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

A. 共有NFSへのアクセス権を厳格化し、不正ユーザーのアクセスを防いでください。また、WAF/IPSやネットワーク分離で環境を保護することも検討してください。

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

A. ログに改ざんされたモデルファイルや不審な cloudpickle.load() 呼び出しをチェックしてください。GitHub Advisory DatabaseやCISAのIOC情報も参考にしましょう。

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

A. CVSSは技術的な深刻度を示しますが、EPSSは実際に今後悪用される確率を示します。両方見ることで優先度判断の精度が上がります。

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

A. CWE-378に分類される不適切なアクセス制御の脆弱性は他にも存在します。CVE-2025-10279も今回と同じ問題の部分的修正版です。

参考文献

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

2026-05-19 追記

本記事の公開後、以下の重要な変化が確認されました(公開からの経過: 0日)。

項目 公開時点 2026-05-19時点 変化の意味
CVSSスコア変化 9 (Critical) 7 (HIGH) NVD再評価でスコアが下方修正
タイトルプレフィックス未付与 (プレフィックスなし) 【高】 公開時はタイトルに危険度プレフィックスが付いていない。最新状況では付与が妥当(記事生成時の凡ミス補正)

CVSSスコア変化

NVDによる再評価により、本脆弱性のCVSSスコアが「9 (Critical)」から「7 (HIGH)」へ下方修正されました。これは深刻度の見直しが行われたことを意味し、理論上の危険性はCritical帯からHigh帯へ変わったことになります。一般的には、運用上の緊急対応度が若干下がるものの、依然として警戒すべき高リスク脆弱性であることに変わりはありません。今後は、CVSS 7.0〜8.9相当のリスク管理ガイドラインに基づき、計画的な修正計画や影響調査を進めてください。

タイトルプレフィックス未付与

公開時点では記事タイトルに危険度プレフィックス(【高】)が付与されていませんでしたが、最新状況に基づきタイトル先頭へ「【高】」を付加するのが適切になりました(記事生成時の凡ミス補正対応です)。本脆弱性はCVSS 7.0以上に該当するため、迅速な対応は求められないものの、ベンダー推奨に従い計画的な対応スケジュールを立ててください。今後の記事参照や運用者間での情報共有時にも、最新の危険度表記をご確認ください。

2026-05-26 追記

本記事の公開後、以下の重要な変化が確認されました(公開からの経過: 6日)。

項目 公開時点 2026-05-26時点 変化の意味
CVSSスコア変化 9 (Critical) 7 (HIGH) NVD再評価でスコアが下方修正
タイトルプレフィックス未付与 (プレフィックスなし) 【高】 公開時はタイトルに危険度プレフィックスが付いていない。最新状況では付与が妥当(記事生成時の凡ミス補正)

CVSSスコア変化

初回公開時点で「9 (Critical)」とされていたCVSSスコアが、「7 (HIGH)」へとNVDによる再評価で下方修正されました。これにより、元々Critical(緊急/最高リスク)とされていた脆弱性が、現在はHigh(高リスク)レベルの扱いとなっています。

この変更は、NVDによる技術的な精査・分析が進んだ結果と考えられます。主な修正背景としては、「ローカル攻撃ベクトル」「権限要件」「ユーザーインタラクション不要」といった複合的なリスク判断が反映された可能性があります。運用面では、最優先での緊急対応(KEV登録や攻撃観測レベルの即日対応)から、計画的な優先付けによる対応へリスク認識を調整することが推奨されます。しかし、High帯として引き続き重大なリスクが残るため、対応延期や対策ペンディングは避けてください。

タイトルプレフィックス未付与

公開時にはタイトルに危険度を示すプレフィックス(例えば「【高】」等)が付与されていませんでしたが、最新の状況では「【高】」の付与が妥当とされています。この修正は記事生成時の凡ミスを補正するためのものであり、現在のリスク評価に即した表現となっています。

タイトルに適切なプレフィックスが付与されていない場合、読者が情報の重要度や緊急度を誤認・軽視するリスクがあります。今後は本件と同種の凡ミスを防ぐため、CVSSスコアや評価指標に連動したタイトル表記の見直しを徹底し、運用側・利用者双方が適切な優先順位で対応判断できるようにしてください。既存の監視や通知手段も、表記修正の有無を合わせて確認することを推奨します。

2026-06-02 追記

本記事の公開後、以下の重要な変化が確認されました(公開からの経過: 13日)。

項目 公開時点 2026-06-02時点 変化の意味
CVSSスコア変化 9 (Critical) 7 (HIGH) NVD再評価でスコアが下方修正
タイトルプレフィックス未付与 (プレフィックスなし) 【高】 公開時はタイトルに危険度プレフィックスが付いていない。最新状況では付与が妥当(記事生成時の凡ミス補正)

CVSSスコア変化

本脆弱性(CVE-2026-4137)について、公開時点のCVSSスコアは「9 (Critical)」と非常に高い値が付与されていましたが、その後NVD(National Vulnerability Database)による再評価により「7 (HIGH)」へ下方修正されました。これは技術的分析や影響範囲の再検証を経て、実際のリスク評価がCritical(深刻)からHigh(高)に見直されたことを意味しています。現時点での攻撃成立条件や影響規模を改めて確認し、慌てて緊急対応に乗り出す前に、自組織の影響範囲や対策優先度を再考することが推奨されます。

運用管理者は、CVSSスコアの変化に応じてパッチ適用や緊急度判断の基準を調整することが求められます。High帯では引き続き計画的な対応が必要ですが、緊急・至急での全台修正必須とは限りませんので、インパクトや業務影響をふまえて計画的な管理を進めてください。

タイトルプレフィックス未付与

公開時点ではタイトルに危険度プレフィックス(例:「【高】」など)が付与されていない状態でしたが、最新状況では「【高】」と明示表示することが妥当となりました。これは記事生成時の凡ミス補正として、情報の受け手に対し直感的に危険度が伝わるように改善したものです。

本脆弱性のリスク帯が明確になったことで、今後は「【高】」プレフィックスを参考に、記事の緊急度や対応優先度を適切に判断してください。また、今までタイトルの印象だけで内容を見送っていた場合でも、プレフィックス変更を機に一度内容を再確認することをお勧めします。

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

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

@ai_sec_news_256 をフォロー

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

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