プラットフォーム
python
コンポーネント
mlflow
修正版
3.9.0
3.9.0rc0
CVE-2025-15036 は、mlflow/mlflow リポジトリの mlflow/pyfunc/dbconnectartifactcache.py ファイル内の extractarchiveto_dir 関数に存在するパストランバーサルの脆弱性です。 攻撃者は、tar.gz ファイルを制御し、tar メンバーパスの検証不足を悪用して、任意のファイルを上書きしたり、権限を昇格させたりできます。 影響を受けるバージョンは v3.7.0 より前で、修正はバージョン 3.9.0 で提供されています。
MLflow の CVE-2025-15036 は、深刻なパス・トラバーサル脆弱性を示しています。3.7.0 より前のバージョンに影響し、tar.gz アーカイブの抽出中のメンバーパスの検証が不十分なことから発生します。悪意のある tar.gz ファイルの内容を制御できる攻撃者は、この弱点を悪用してシステム上の任意のファイルを上書きし、特権を昇格させたり、マルチテナント環境のサンドボックス環境から抜け出したりする可能性があります。CVSS スコアは 9.6 で、非常に高いリスクを示しています。検証の欠如により、攻撃者は抽出パスを操作して、意図された宛先ディレクトリ外のディレクトリにアクセスし、データの整合性と機密性を損なう可能性があります。
攻撃者は、MLflow に抽出用に特別に作成された tar.gz ファイルを提供することで、この脆弱性を悪用する可能性があります。このファイルには、抽出時に攻撃者が意図された宛先ディレクトリ外のファイルを書き込むことができるファイル名が含まれています。たとえば、ファイル名が '../etc/passwd' の場合、システムパスワードファイルを上書きする可能性があります。悪用は、信頼できないユーザーが提供するアーティファクトを処理するために MLflow が使用されるシナリオや、tar.gz ファイルのセキュリティが保証されない共有環境で発生する可能性が高くなります。悪用の複雑さは比較的低く、悪意のある tar.gz ファイルを作成するだけで済みます。
Organizations using MLflow in multi-tenant or shared cluster environments are particularly at risk. This includes data science teams deploying machine learning models in cloud-based platforms or containerized environments. Legacy MLflow deployments using older versions are also vulnerable.
• python / mlflow:
import os
import tarfile
def check_mlflow_vulnerability(archive_path):
try:
with tarfile.open(archive_path, 'r') as tar:
for member in tar.getmembers():
if '..' in member.name:
print(f"Potential path traversal detected in member: {member.name}")
return True
return False
except Exception as e:
print(f"Error processing archive: {e}")
return False
# Example usage
archive_path = 'path/to/your/archive.tar.gz'
if check_mlflow_vulnerability(archive_path):
print("Vulnerability potentially present.")
else:
print("No immediate path traversal vulnerability detected.")• generic web: Check for unusual file creations or modifications in the MLflow artifact store directory. Monitor system logs for errors related to file access or extraction.
disclosure
エクスプロイト状況
EPSS
0.05% (17% パーセンタイル)
CISA SSVC
推奨される対策は、MLflow をバージョン 3.7.0 以降にアップグレードすることです。このバージョンは、tar.gz ファイルのパスの堅牢な検証を実装することで脆弱性を修正し、パス・トラバーサルを防止します。さらに、アーティファクト管理およびユーザー入力検証に関連するセキュリティポリシーをレビューおよび強化することをお勧めします。マルチテナント環境では、成功した悪用による潜在的な影響を軽減するために、追加の分離措置を実装することが重要です。システムログを不審なアクティビティについて監視することも、潜在的な攻撃を検出し、対応するための推奨されるプラクティスです。
mlflow ライブラリをバージョン 3.9.0 以降にアップデートしてください。これにより、`extract_archive_to_dir` 関数におけるパス・トラバーサル (Path Traversal) の脆弱性が修正されます。アップデートにより、攻撃者が tar.gz ファイルを操作して任意のファイルを上書きしたり、権限を昇格させたりする可能性がなくなります。
脆弱性分析と重要アラートをメールでお届けします。
3.7.0 より前のすべてのバージョンが CVE-2025-15036 に対して脆弱です。
ターミナルで mlflow --version を実行します。バージョン番号が 3.7.0 より小さい場合、脆弱なバージョンを使用しています。
一時的な対策として、信頼できないソースからの tar.gz ファイルの処理を避けてください。MLflow にアーティファクトをアップロードできるユーザーを制限するために、厳格なアクセス制御を実装してください。
tar.gz ファイルを疑わしいコンテンツについてスキャンできるマルウェア分析ツールがあります。ただし、検出は万全ではありません。
パス・トラバーサルは、セキュリティ脆弱性であり、攻撃者が意図されたディレクトリ外のファイルまたはディレクトリにアクセスできるようにします。多くの場合、ファイルパスに '..' などのシーケンスを使用します。
CVSS ベクトル
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。