機械学習の実験や学習結果を記録・管理するオープンソースの道具「MLflow」に、認証なしでサーバーの外のファイルに書き込まれる恐れのある脆弱性CVE-2026-53995が公開されました。米国時間10月19日にCVEとして登録され、ドイツのCERT-Bundも同じ日に注意情報を出しています。
対象は、最新の3.17.1を含むすべての版です。10月20日時点で修正版は出ていません。データ分析や研究開発の部署が自分で立てたサーバーも多い道具のため、情シスがまず「どこで動いているか」をつかむことが先になります。この記事の内容は、2026年10月20日に確かめたものです。
公開された内容
CVEを採番したVulnCheckとGitHubの脆弱性データベースの説明は、次のとおりです。
GitHubの脆弱性データベースのCVE-2026-53995の画面出典: GitHub Advisory Database「GHSA-wqmh-qccw-pqwf」(引用)
| 項目 |
公開された内容 |
| 対象 |
MLflow 3.17.1以前 |
| 種類 |
パストラバーサル(決められた場所の外を指す道筋を受け付けてしまう不備、CWE-22) |
| 場所 |
記録の保存先「FileStore」の処理 |
| 攻撃の方法 |
認証なしで、POST /api/3.0/mlflow/traces に、細工したトレースIDを送る |
| 起きること |
実験のトレースの置き場の外に、trace_info.yamlなどのファイルを書かれる。範囲はサーバーのプロセスの権限の内側 |
| 深刻度 |
CVSS v3.1で8.2、CVSS v4.0で8.8(いずれも「高」) |
書き込まれるファイルの中身(メタデータ)は、攻撃者が決められるとされています。情報が読み取られる影響は、評価では「なし」です。書き込まれたファイルが、その後どんな被害につながるかは、サーバーの構成によって変わり、説明には書かれていません。
対象はFileStoreを使う場合
今回の不備は、記録の保存先にFileStore(ファイルに保存する方式)を使う場合に限られます。説明では、版によって次のように分かれます。
- 3.7.0より前: 既定の保存先がFileStoreです。特別な設定をしなくても対象になります。
- 3.7.0以降: 既定はSQLiteのデータベースに変わりました。FileStoreを明示して選んだ場合だけ対象です。
MLflowの文書では、FileStoreは「./mlruns」のフォルダーに記録を保存する方式で、いまは保守だけを続ける扱いです。起動のときに --backend-store-uri で ./mlruns や file: の場所を指定していれば、FileStoreを使っています。
自社のMLflowが当てはまるかの3つの確認と、今できること作成: 編集部 / もとの資料: GitHub Advisory Database・VulnCheck・MLflow(GitHub・文書)
修正版はまだ出ていない
修正のプルリクエスト(#26842)は、10月17日に出されました。トレースIDが決められた場所の外を指さないかを確かめ、不正な要求には「400」のエラーを返す内容です。v3.17.2の札が付いていますが、10月20日時点ではまだ取り込まれていません。最新の版は、10月13日に出た3.17.1です。
MLflowのGitHubの修正案#26842。10月20日時点で取り込み前(Open)出典: MLflow「Fix FileStore trace path traversal (CVE-2026-53995) #26842」(GitHub)(引用)
攻撃を試すためのコード(PoC)は、脆弱性を見つけた研究者がGitHubで公開しています。CISAの悪用が確認された脆弱性の一覧(KEV)には、10月20日時点で載っていません。なお、MLflowでは別の脆弱性CVE-2026-64849(SSRF)が、2026年8月19日にKEVに載っています。
MLflowには、ログインを求める機能(--app-name basic-auth)があります。ただし、文書の説明では、この機能は起動のときに指定した場合だけ有効です。指定せずに動かしているサーバーは、届く人なら誰でもAPIを使えます。