---
title: "MLflow のサーバーで、送り込まれた Python ファイルが読み込まれてコード実行に至る不具合（CVE-2026-116692）: 3.12.0 以上 3.17.0 未満が対象、3.17.0 で修正"
url: https://n-t-p.io/worldsecurity/articles/mlflow-third-party-scorer-import-rce-3-17-0-2026-116692
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年10月31日
updated: 2026年10月31日
severity: 緊急
cve: CVE-2026-116692
---

# MLflow のサーバーで、送り込まれた Python ファイルが読み込まれてコード実行に至る不具合（CVE-2026-116692）: 3.12.0 以上 3.17.0 未満が対象、3.17.0 で修正

> **TL;DR:** 機械学習の実験管理ツール MLflow 3.12.0 以上 3.17.0 未満で、評価部品の読み込み時に「許可された名前で始まる」だけを確かめていたため、サーバーに置かれた Python ファイルが読み込まれ、任意コードの実行に至る不具合（CVE-2026-116692、GitHub は Critical、CVSS v3.1 9.8、CWE-94・470）。認証なしの既定設定では資格情報なしで可能と勧告は説明（当サイトでは未再現）。修正版は 3.17.0。KEV 掲載なし、EPSS は 0.70%。

**要点**
- モジュール名が許可された名前で始まるかだけを確かめていたため、許可された名前のフォルダ内に置かれた Python ファイルが読み込まれ、実行される
- 認証なしの既定設定では資格情報なしで悪用でき、公式イメージでは root で動くと勧告は説明（当サイトでは未再現）。認証ありでも実験・実行の作成ができる利用者なら届く
- 対象は 3.12.0rc0 以上 3.17.0 未満、修正版は 3.17.0（PyPI 10/07 UTC）。修正コミット a732443 は名前を完全一致で照合し、クラスの種類も確かめる
- サーバーが該当フォルダに書き込めることが前提。読み取り専用のファイルシステムなどでは、この流れは成立しない（勧告の説明）
- NVD は Awaiting Analysis（自身の評価なし）、GitHub の CVSS v3.1 は 9.8、EPSS 0.70%（10/31）、KEV 掲載なし。勧告の公開は 10/27

機械学習の実験管理ツール MLflow のサーバーで、外から送られた「モジュールの名前」をそのまま読み込む仕組みを悪用され、認証なしの既定設定では任意の Python コードを実行されるおそれがある不具合（CVE-2026-116692、GHSA-26p8-2jq9-3vq9）が公開されました。GitHub の深刻度は Critical、CVSS v3.1 は 9.8 です。修正版は 3.17.0（PyPI に 10/07 UTC 公開）、勧告の公開は 10/27 UTC です。CISA の KEV には、確認した範囲では載っていません。

## 何が起きるか

- MLflow 3.12.0 から、第三者製の評価部品（scorer）を登録して呼び出す機能が入りました。サーバーは、送られてきた「モジュール名」が許可された 4 つの名前（ragas、deepeval、trulens、phoenix）で始まるかだけを確かめ、そのモジュールを読み込んで、指定された名前のクラスを作ります。
- 「名前が許可された名前で始まる」ことは、「中身が信頼できる」ことを意味しません。サーバーがその場所に書き込めるなら、攻撃者が置いた Python ファイルが、許可された名前の下のモジュールとして読み込まれます。
- 勧告が示す流れは次のとおりです。(1) 実験を作り、成果物の保存先を許可された部品のフォルダ内に指定する、(2) 実行（run）を作り、その保存先に Python ファイルをアップロードする、(3) そのファイルを指すモジュール名で評価部品の呼び出しを送る、の 3 段階です。読み込みの時点で、ファイルの中の処理が実行されます。
- 勧告によると、認証を有効にしていない既定の公式イメージ（3.14.0）では、資格情報なしで実行でき、プロセスは root（uid 0）で動いていました（勧告の記載で、当サイトでは再現していません）。

## 影響を受ける版と条件

| 項目 | 内容 |
|---|---|
| 対象 | mlflow（PyPI）3.12.0rc0 以上 3.17.0 未満 |
| 修正版 | 3.17.0 |
| 弱点 | CWE-94（コード生成の不備）、CWE-470（外部入力による任意のクラス・コードの選択） |
| 評価 | GitHub 提供の CVSS v3.1 は 9.8（AV:N/AC:L/PR:N/UI:N）。NVD 自身の評価は未実施 |
| 前提 | サーバーのプロセスが、許可された評価部品のパッケージのフォルダに書き込めること |

- 3.11.1 以前には、この評価部品の機能自体がありません（勧告の説明）。
- 認証を有効にした環境でも、勧告によれば、評価部品の呼び出し口自体には実験ごとの権限確認がありません。ただし実際に悪用するには、実験・実行の作成とアップロードができる利用者であることが要ります。
- サーバーのファイルシステムが読み取り専用の場合や、該当フォルダの所有者が別で書き込めない場合は、勧告の説明では、この攻撃の流れは成立しません。

## 修正の中身

修正コミット a732443（9/16 UTC、PR #25906）は、次の変更を入れます。

- モジュール名の照合を「許可された名前で始まる」から「許可された名前と完全に一致する」に変更しました。許可リストは、サポートする評価部品が実際にある個別のモジュールの一覧に広げています。
- 評価指標の名前（metric_name）が、ただの識別子（ドットを含まない名前）であることを確かめるようにしました。
- 読み込んだクラスが Scorer の子クラスであることを確かめるようにしました。

リリースタグ v3.17.0 にこのコミットが含まれることは、比較で確認しました。

## 対応

1. mlflow を 3.17.0 以上に更新します。`pip show mlflow` や、ロックファイル・コンテナのイメージで版を確かめます。
2. すぐ更新できない場合の一時策は、勧告からの引用ではなく本記事の推定です。サーバーを認証なしでインターネットや社内の広い範囲に公開しない、実行プロセスを root 以外にする、コンテナのファイルシステムを読み取り専用にする、の 3 つが考えられます。
3. 3.12.0 から 3.16.x を使ってきたサーバーは、想定外の実験や、評価部品のパッケージ内に見覚えのないフォルダやファイルがないかを確認します（本記事の推定）。
4. 追跡サーバーへのアクセスを、必要な利用者・ネットワークに限ります。

## 未確認の点

- NVD の状態は Awaiting Analysis（10/27 公開、10/28 更新）で、NVD 自身の評価はまだありません。CVSS v3.1 の 9.8 は GitHub の評価です。勧告の CVSS v4.0 の欄は値がありません。
- EPSS は 0.70%（10/31 時点、百分位 0.53）で、悪用の報告は見つかっておらず、KEV 掲載もなしです。
- 勧告本文には「2026-07-12 時点で修正版は見つかっていない」という旧い記述が残っています。修正が 3.17.0 に入っていることはタグの比較と PyPI の公開日で確認しました。
- 修正（9/16 の取り込み、10/07 のリリース）から勧告の公開（10/27）まで約 3 週間あります。この間の経緯は未確認です。
- 実際の環境での再現は確認していません。記載は勧告、NVD、修正コミットに基づきます。


## 出典
- [GitHub Advisory GHSA-26p8-2jq9-3vq9](https://github.com/advisories/GHSA-26p8-2jq9-3vq9) — GitHub
- [MLflow 3.17.0 リリース](https://github.com/mlflow/mlflow/releases/tag/v3.17.0) — GitHub
- [修正コミット a732443](https://github.com/mlflow/mlflow/commit/a732443e695c3c677680c54320efc394c81654ab) — GitHub
- [PyPI mlflow 3.17.0](https://pypi.org/project/mlflow/3.17.0/) — PyPI
- [NVD CVE-2026-116692](https://nvd.nist.gov/vuln/detail/CVE-2026-116692) — NIST NVD
- [FIRST EPSS API](https://api.first.org/data/v1/epss?cve=CVE-2026-116692) — FIRST
- [CISA Known Exploited Vulnerabilities Catalog（JSON）](https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/mlflow-third-party-scorer-import-rce-3-17-0-2026-116692