MLflowの脆弱性CVE-2026-116692|認証なしのコード実行と3.17.2への更新
CVE-2026-116692・CVE-2026-116690・CVE-2026-116691・CVE-2026-115886機械学習の
- コード実行の
件は 3.12.0rc0以上3.17.0未満が 対象で、 mlflow serverの既定の 認証 なしの 構成では、 サーバーに 届けば 誰でも 実行 できる おそれが あります。[1] - ファイル読み取りの
件 (3.10.0〜 3.16.1)は、 basic認証を 有効に していても、 権限の 低い 利用者が 認証の データベースを 読める おそれが あります。[2] mlflow.crewai.autolog()を使っていた 場合は、 上げても APIキーは 記録に 残ります。 キーを 作り直し、 記録を 消します。[3] - 3.17.1以前には、
トレースの IDから ファイルを 書き込める 別の 脆弱性 (CVE-2026-53995)が あり、 3.17.2で 直りました。[5]
01MLflowの脆弱性で起きること
3.17.0で
| 番号 | 起きること | 深刻度 |
|---|---|---|
| CVE-2026-116692 | 外部の | 緊急 |
| CVE-2026-116690 | プロンプトとして | 高 |
| CVE-2026-116691 | CrewAIの | 中 |
| CVE-2026-115886 | 評価器の | 中 |
コード実行の/ajax-api/3.0/mlflow/scorer/invoke)で
認証
アドバイザリに
MLflow 3.12.0rc0〜3.16.1
出典
02MLflowが対象になる条件
- コード実行:
3.12.0rc0以上3.17.0未満の トラッキングサーバーに、 ネットワークから 届くこと。 サーバーの プロセスが 評価器の パッケージの 下に 書き込めることも 条件で、 公式の コンテナイメージ (3.14.0で 確認)では rootで 動き、 この 条件を 満たしていました。 basic認証を 有効に している 場合は、 実験の 作成と 成果物の アップロードが できる 利用者が 必要です。[1] - ファイル読み取り:
3.10.0〜 3.16.1で、 モデルの 登録の 機能が 使える サーバー。 --app-name basic-authでも、 モデルを 作れる 利用者なら 認証の データベース (管理者の パスワードの ハッシュを 含む)を 読める おそれが あります。[2] - APIキーの
記録: 2.19.0以上3.17.0未満で、 mlflow.crewai.autolog()を有効に し、 CrewAIの LLMに APIキーを 渡している アプリ。 サーバーを 公開しているかは 関係 ありません。[3] - SSRF:
3.12.0rc0以上3.17.0未満で、 サーバーに trulensと trulens-providers-litellmを入れている 場合。[4]
03悪用の状況
4件とも、
MLflowでは、
10月7日に
修正版の
2026年8月19日
10月7日
10月9日
10月13日
10月21日
10月28日
出典
04MLflowの対象の版と推奨する版
推奨する
| 今の | 当てはまる | 推奨する |
|---|---|---|
| 3.12.0rc0〜3.16.1 | 4件すべて | 3.17.2以上 |
| 3.10.0〜 | ファイル | |
| 3.17.0・3.17.1 | この |
3.17.0は
どの
今の
出典
05MLflowの版を確かめて上げる手順
サーバーを
動かしている 環境と アプリの 環境で、 MLflowの 版を 確かめます。 lockファイルに 記録された 版も 見ます。 ターミナルpython -m pip show mlflow grep -n -i "mlflow" requirements*.txt poetry.lock uv.lockサーバーの
起動の 仕方を 確かめます。 --host 0.0.0.0などで外から 届く 状態か、 --app-name basic-authを付けているかを 見ます。 ターミナルps aux | grep -i "mlflow server"CrewAIの
自動記録を 使っているかを 確かめます。[3] ターミナルgrep -rn "crewai.autolog" --include="*.py" .3.17.2以上に
上げます (使っている ツールの 行を 実行します)。 コンテナで 動かしている 場合は、 イメージを 作り直します。 ターミナルpython -m pip install --upgrade "mlflow>=3.17.2" uv lock --upgrade-package mlflow poetry update mlflowサーバーを
再起動し、 実際に 読み込まれる 版を 確かめます。 ターミナルpython -c "import mlflow; print(mlflow.__version__)"



06すぐ上げられないとき
07CrewAIの記録にAPIキーが残っている場合
よくある質問
MLflowをノートPCで試しているだけです。対象ですか?
コード実行と
basic認証を有効にしていれば対象外ですか?
対象外にはなりません。
3.17.0に上げてあります。3.17.2も必要ですか?
この
出典・参考資料
- MLflow公式:
GHSA-26p8-2jq9-3vq9 2026-10-09 /(CVE-2026-116692、 third-party scorer deserialization による コード実行) 対象3.12.0rc0以上3.17.0未満、 修正3.17.0、 仕組みと /ajax-api/3.0/mlflow/scorer/invokeの 経路、 認証 なしの 既定構成、 公式イメージの root実行、 basic認証での 条件、 CVSS 3.1 9.8 - MLflow公式:
GHSA-m65p-9j7q-6w33 2026-10-13 /(CVE-2026-116690、 prompt model version source による ファイル読み取り) 対象3.10.0〜 3.16.1、 修正3.17.0、 basic-authでも 低い 権限で 認証データベースを 読めること、 CVSS 3.1 7.5 - MLflow公式:
GHSA-j7qq-vr8c-xvw3 2026-10-13 /(CVE-2026-116691、 CrewAI autologging の APIキー記録) 対象2.19.0以上3.17.0未満、 修正3.17.0、 キーの 作り直しと 記録の 削除、 autolog( disable= True)の 回避策、 CVSS 3.1 6.5 - MLflow公式:
GHSA-2wqp-q3c6-ccj5 2026-10-22 /(CVE-2026-115886、 scorer kwargs による SSRF) 対象3.12.0rc0以上3.17.0未満、 trulensを 入れている 条件、 修正3.17.0、 CVSS 3.1 6.5 - GitHub Advisory Database:GHSA-wqmh-qccw-pqwf(CVE-2026-53995)2026-10-20 /
3.17.1以前の FileStoreの パス操作、 3.7.0より 前の 既定、 修正3.17.2 - PyPI:
mlflow 2026-11-09 /(版ごとの 公開日時) 3.17.0 (10月7日)・ 3.17.2 (10月21日)・ 3.18.0の 公開 - 米CISA:
Known Exploited Vulnerabilities Catalog 2026-11-06 /4件が 載っていないこと、 CVE-2026-64849の 追加日2026年8月19日 - FIRST:
EPSS 2026-11-08 /(CVE-2026-116692・ CVE-2026-116690) EPSS 0.70%・ 1.80% - GitHub Advisory Database:GHSA-7gwp-5pfp-969j(CVE-2026-64849)2026-08-17 /
Webhookの SSRF、 対象3.3.0以上3.15.0未満、 修正3.15.0
あわせて読みたい記事
Brotliの脆弱性CVE-2026-111497|確認方法と修正版・NativeAOTの再配置
圧縮形式Brotliの
Starletteの脆弱性BadHost|FastAPIでの確認方法と1.0.1への更新
Starletteの

SASTとSCAの違い・使い分け|自動検査の範囲と異常系・回帰試験
SASTと