プラットフォーム
python
コンポーネント
mlflow
修正版
3.8.0rc0
MLflowのバージョン3.7.0以前には、コマンドインジェクションの脆弱性が存在します。この脆弱性は、mlflow/sagemaker/init.pyファイル内の特定の箇所で、ユーザーが提供したコンテナイメージ名を適切にサニタイズせずにシェルコマンドに直接埋め込んでいることが原因です。攻撃者は、この脆弱性を悪用して、MLflowを使用する環境において、任意のコマンドを実行できる可能性があります。影響を受けるバージョンは3.7.0rc0以下ですが、3.8.0rc0で修正されています。
この脆弱性を悪用されると、攻撃者はMLflowの実行環境上で任意のコマンドを実行できるようになります。これにより、機密情報の窃取、システムの改ざん、さらにはシステム全体の制御権の奪取といった深刻な被害が発生する可能性があります。特に、MLflowがクラウド環境やCI/CDパイプラインに統合されている場合、攻撃の影響範囲は広がる可能性があります。類似の脆弱性は、他の機械学習プラットフォームにおいても報告されており、注意が必要です。攻撃者は、コンテナイメージ名に悪意のあるコマンドを埋め込み、MLflowの実行時にそのコマンドが実行されるように仕向けます。
この脆弱性は、2026年3月16日に公開されました。現時点では、KEVに登録されていません。公的に利用可能なPoCは確認されていませんが、コマンドインジェクションの脆弱性であるため、悪用される可能性は否定できません。NVDおよびCISAの情報を定期的に確認し、最新の情報を把握することが重要です。
Organizations heavily reliant on MLflow for machine learning model management, particularly those using it in CI/CD pipelines or cloud deployments, are at significant risk. Shared hosting environments where multiple users have access to the MLflow CLI are also vulnerable, as an attacker could potentially exploit the vulnerability on behalf of another user.
• python / mlflow:
import subprocess
import os
def check_mlflow_version():
try:
result = subprocess.check_output(['mlflow', '--version'], stderr=subprocess.STDOUT)
version = result.decode('utf-8').strip()
if version <= '3.7.0rc0':
print(f"MLflow version is vulnerable: {version}")
else:
print(f"MLflow version is not vulnerable: {version}")
except FileNotFoundError:
print("MLflow is not installed.")
check_mlflow_version()• generic web: Check for suspicious container image names being passed to MLflow CLI via command-line arguments or environment variables. Monitor access logs for unusual activity related to MLflow.
disclosure
エクスプロイト状況
EPSS
0.08% (24% パーセンタイル)
CISA SSVC
この脆弱性への対応策として、まずMLflowをバージョン3.8.0rc0以降にアップグレードすることを推奨します。アップグレードが困難な場合は、一時的な回避策として、--containerパラメータに渡すコンテナイメージ名を厳密に検証し、許可されたイメージ名のみを受け入れるように制限することが考えられます。また、Webアプリケーションファイアウォール(WAF)やプロキシサーバーを使用して、悪意のあるコマンドの実行をブロックすることも有効です。MLflowのログを監視し、異常なコマンド実行の兆候がないか確認することも重要です。アップグレード後、mlflow sagemaker create-executionコマンドを実行し、正常に完了することを確認してください。
MLflow をバージョン 3.7.0 以降にアップデートしてください。これにより、ユーザー入力を適切にサニタイズすることで、コマンドインジェクションの脆弱性が修正されます。`pip install mlflow --upgrade` を使用してアップデートできます。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2025-14287は、MLflow v3.7.0以前に存在するコマンドインジェクションの脆弱性です。攻撃者は--containerパラメータを介して悪意のあるコマンドを実行できる可能性があります。
MLflowのバージョンが3.7.0rc0以下の場合、この脆弱性の影響を受けます。3.8.0rc0以降にアップグレードすることで修正されます。
MLflowをバージョン3.8.0rc0以降にアップグレードしてください。アップグレードが困難な場合は、コンテナイメージ名の検証を強化し、WAFなどのセキュリティ対策を導入してください。
現時点では、公的に利用可能なPoCは確認されていませんが、コマンドインジェクションの脆弱性であるため、悪用される可能性は否定できません。
MLflowの公式アドバイザリは、MLflowのリリースノートまたはGitHubリポジトリで確認できます。
CVSS ベクトル
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。