CVE-2024-1558は、mlflowのcreatemodel_version()関数に存在するパストラバーサル脆弱性です。この脆弱性を悪用されると、攻撃者はサーバー上の機密ファイルに不正にアクセスできる可能性があります。影響を受けるバージョンはmlflow 2.9.2以下です。2.12.1に修正されており、速やかにアップデートすることを推奨します。
この脆弱性は、攻撃者がsourceパラメータを巧妙に操作することで、mlflowサーバー上の任意のファイルにアクセスすることを可能にします。これにより、モデルのアーティファクト、設定ファイル、さらには機密データを含む可能性のあるファイルが漏洩するリスクがあります。攻撃者は、このアクセス権を悪用して、システムへのさらなる侵入を試みたり、データを改ざんしたりする可能性があります。特に、モデルのトレーニングに使用された機密データが漏洩した場合、深刻なプライバシー侵害につながる可能性があります。類似の脆弱性は、ファイルシステムへのアクセス制御の不備から発生することが多く、適切な入力検証の欠如が原因となります。
CVE-2024-1558は、2024年4月16日に公開されました。現時点では、公的に利用可能なPoC(Proof of Concept)は確認されていませんが、脆弱性の性質上、悪用される可能性は否定できません。CISAのKEV(Known Exploited Vulnerabilities)カタログへの登録状況は不明です。NVD(National Vulnerability Database)の情報も参照し、最新の動向を注視する必要があります。
Organizations deploying MLflow for machine learning model management, particularly those using older versions (≤2.9.2), are at risk. Shared hosting environments where multiple users share the same MLflow instance are especially vulnerable, as an attacker could potentially access data belonging to other users. Environments with weak access controls to the MLflow tracking server are also at increased risk.
• python / mlflow:
import os
import mlflow
# Attempt to read a file outside the intended directory
try:
mlflow.tracking.MlflowClient().create_model_version('model', '1', source='../../../../../../etc/passwd')
print('Potential vulnerability detected!')
except Exception as e:
print(f'Error: {e}')• generic web: Check MLflow server logs for requests containing path traversal sequences (e.g., '../').
• generic web: Monitor network traffic to the MLflow server for suspicious requests targeting the /tracking/model-versions endpoint.
disclosure
エクスプロイト状況
EPSS
0.09% (26% パーセンタイル)
CISA SSVC
CVSS ベクトル
まず、mlflowをバージョン2.12.1以上にアップデートすることが最も効果的な対策です。アップデートが直ちに実行できない場合は、WAF(Web Application Firewall)を導入し、sourceパラメータに対する不正なファイルパスのアクセスをブロックするルールを設定することを検討してください。また、mlflowサーバーのファイルシステムへのアクセス権を最小限に制限し、不要なファイルへのアクセスを防止することも重要です。さらに、ログ監視を強化し、異常なファイルアクセス試行を検知するためのアラートを設定してください。
Actualice la biblioteca mlflow a la última versión disponible. Esto solucionará la vulnerabilidad de path traversal. Consulte las notas de la versión para obtener más detalles sobre la actualización.
脆弱性分析と重要アラートをメールでお届けします。
CVE-2024-1558は、mlflowのcreatemodel_version()関数におけるパストラバーサル脆弱性であり、攻撃者がサーバー上の機密ファイルにアクセスできる可能性があります。
はい、mlflowのバージョンが2.9.2以下の場合は、CVE-2024-1558の影響を受けます。
mlflowをバージョン2.12.1以上にアップデートすることで、CVE-2024-1558を修正できます。
現時点では公的なPoCは確認されていませんが、脆弱性の性質上、悪用される可能性は否定できません。
mlflowの公式アドバイザリは、GitHubリポジトリのリリースノートで確認できます: [https://github.com/mlflow/mlflow/releases](https://github.com/mlflow/mlflow/releases)
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。