プラットフォーム
python
コンポーネント
mlflow
修正版
3.8.2
3.9.0rc0
CVE-2025-15379 は、MLflow のモデルサービングコンテナ初期化コード、具体的には installmodeldependenciesto_env() 関数に存在するコマンドインジェクションの脆弱性です。 攻撃者は、悪意のあるモデルアーティファクトを提供し、任意のコマンドを実行できます。 影響を受けるバージョンは 3.8.0 で、修正はバージョン 3.8.2 で提供されています。
CVE-2025-15379 は、MLflow のモデルサービングコンテナ初期化コードにおける重大なコマンドインジェクション脆弱性です。この脆弱性は、envmanager=LOCAL でモデルをデプロイする場合に発生します。MLflow は、モデルアーティファクトの pythonenv.yaml ファイルから依存関係の仕様を読み取り、サニタイズなしで直接シェルコマンドに挿入します。攻撃者は、悪意のあるモデルアーティファクトを提供することでこれを悪用し、モデルをデプロイするシステムで任意のコマンドを実行できます。CVSS スコアは 10.0 で、非常に高いリスクを示します。3.8.1 より前のバージョンが影響を受けます。根本原因は、python_env.yaml ファイル内の入力検証の欠如であり、コマンドインジェクションを可能にします。
攻撃者は、MLflow に悪意のあるモデルアーティファクトをアップロードできる場合、この脆弱性を悪用できる可能性があります。これは、モデルのデプロイプロセスがアーティファクトのソースを適切に検証していない場合に発生する可能性があります。悪意のあるアーティファクトには、任意のコマンドを挿入するように設計された python_env.yaml ファイルが含まれます。モデルをデプロイすると、MLflow は変更されたコマンドを実行し、攻撃者がデプロイメントシステムでコードを実行できるようにします。悪用の複雑さは比較的低く、悪意のあるアーティファクトを作成し、デプロイするだけで済みます。システムの機密性、完全性、および可用性が損なわれる可能性があります。
Organizations heavily reliant on MLflow for model deployment, particularly those using the LOCAL environment manager, are at significant risk. This includes data science teams, machine learning engineers, and DevOps professionals responsible for deploying ML models in production environments. Shared hosting environments where multiple users can upload model artifacts are also particularly vulnerable.
• python / mlflow:
import os
import subprocess
def check_python_env_yaml(yaml_file):
try:
with open(yaml_file, 'r') as f:
yaml_content = f.read()
if '!' in yaml_content:
print(f"Potential command injection detected in {yaml_file}")
except FileNotFoundError:
print(f"File not found: {yaml_file}")
# Example usage
check_python_env_yaml('path/to/python_env.yaml')• linux / server:
find /opt/mlflow/models -name 'python_env.yaml' -print0 | xargs -0 grep -l '!'disclosure
エクスプロイト状況
EPSS
0.24% (47% パーセンタイル)
CISA SSVC
CVE-2025-15379 の主な軽減策は、MLflow バージョン 3.8.1 以降にアップグレードすることです。このバージョンには、pythonenv.yaml ファイルからの入力をサニタイズし、コマンドインジェクションを防ぐ修正が含まれています。追加の予防措置として、可能な場合は envmanager=LOCAL の使用を避け、より安全な環境管理方法を選択してください。envmanager=LOCAL が必要な場合は、シェルコマンドで使用する前に、pythonenv.yaml ファイルで指定された依存関係を厳密に検証およびサニタイズする必要があります。システムログを監視して、潜在的な悪用試行を検出することも重要です。
MLflow をバージョン 3.8.2 以降にアップデートしてください。これにより、`_install_model_dependencies_to_env()` 関数におけるコマンドインジェクションの脆弱性が修正されます。 `env_manager=LOCAL` でデプロイする前に、モデルの依存関係の仕様を検証し、サニタイズしてください。
脆弱性分析と重要アラートをメールでお届けします。
MLflow は、実験からデプロイまで、機械学習ライフサイクル全体を管理するためのオープンソースプラットフォームです。
バージョン 3.8.1 は、CVE-2025-15379 コマンドインジェクション脆弱性を修正し、任意のコマンド実行のリスクを軽減します。
これは、依存関係がローカルで管理され、python_env.yaml ファイルから仕様が読み取られることを示す MLflow の設定です。
MLflow のバージョンが 3.8.1 より前で env_manager=LOCAL を使用している場合、この脆弱性に対して脆弱です。
アップグレードに加えて、可能な場合は envmanager=LOCAL を避け、pythonenv.yaml ファイル内の依存関係を厳密に検証することを検討してください。
CVSS ベクトル
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。