MLflowのpyfunc抽出プロセスにおける脆弱性により、任意ファイルアクセスが可能となることが判明しました。この問題は、tarアーカイブのエントリを適切に検証せずにtarfile.extractallを使用していることに起因します。影響を受けるバージョンは3.8.1以前であり、3.9.0rc0で修正されています。この脆弱性は、マルチテナント環境や信頼できないアーティファクトの取り込みにおいて、深刻なリスクをもたらします。
この脆弱性を悪用されると、攻撃者は悪意のあるtar.gzファイルをMLflowに送信し、..や絶対パスを含むエントリによって、意図しないディレクトリにファイルを上書きできます。これにより、機密情報の漏洩、システムの改ざん、さらにはリモートコード実行につながる可能性があります。特に、MLflowが複数のユーザーまたはサービスによって共有されている環境では、攻撃者は他のユーザーのデータやシステムにアクセスできる可能性があります。この脆弱性は、類似のアーカイブ処理の脆弱性と同様に、広範囲な影響を及ぼす可能性があります。
この脆弱性は、まだ積極的に悪用されているという報告はありませんが、公開されているため、今後悪用される可能性があります。CISAのKEVカタログへの登録状況は不明です。公開されたPoCは確認されていませんが、アーカイブ処理の脆弱性に対する攻撃手法は広く知られており、悪用されるリスクは高いと考えられます。NVD(National Vulnerability Database)は2026年3月19日に公開されました。
Organizations utilizing MLflow in multi-tenant environments or those that ingest machine learning artifacts from untrusted sources are at the highest risk. Specifically, teams relying on automated artifact pipelines without robust validation procedures are particularly vulnerable. Users who have not upgraded to MLflow 3.9.0rc0 or later are also at risk.
• python / mlflow: Inspect MLflow's pyfunc extraction code for missing path validation.
import tarfile
tar = tarfile.open('malicious.tar.gz', 'r:gz')
for member in tar.getmembers():
member.name = os.path.join('safe_extraction_dir', member.name) # Add path validation here
tar.extractall('extraction_dir')
tar.close()• linux / server: Monitor file system activity for unexpected writes in MLflow's extraction directories using auditd.
ausearch -m always -f /path/to/mlflow/extraction_dir• generic web: Monitor access logs for requests containing tar.gz archives with suspicious filenames or paths.
disclosure
エクスプロイト状況
EPSS
0.12% (30% パーセンタイル)
CISA SSVC
まず、MLflowを3.9.0rc0以降のバージョンにアップグレードすることを強く推奨します。アップグレードがすぐに利用できない場合は、信頼できないソースからのアーティファクトの取り込みを一時的に停止し、MLflowの実行環境へのネットワークアクセスを制限することを検討してください。WAF(Web Application Firewall)を導入し、悪意のあるtar.gzファイルのアップロードをブロックするルールを設定することも有効です。また、ファイルシステムのアクセス制御を強化し、MLflowがファイルを書き込むことができるディレクトリを制限することも重要です。アップグレード後、ファイルシステムへのアクセス権限を再度確認し、不正なファイルが存在しないことを確認してください。
Actualice MLflow a la última versión disponible. Esto corrige la vulnerabilidad de path traversal al extraer archivos tar.gz, evitando la escritura de archivos arbitrarios y la posible ejecución remota de código.
脆弱性分析と重要アラートをメールでお届けします。
CVE-2025-15031は、MLflowの3.8.1以前のバージョンにおけるtarアーカイブ処理の不備により、攻撃者が意図しないディレクトリにファイルを上書きできる任意ファイルアクセス脆弱性です。
MLflowのバージョンが3.8.1以前である場合、影響を受ける可能性があります。特に、信頼できないソースからアーティファクトを取り込む環境では注意が必要です。
MLflowを3.9.0rc0以降のバージョンにアップグレードすることを強く推奨します。
現時点では、積極的に悪用されているという報告はありませんが、公開されているため、今後悪用される可能性があります。
MLflowの公式アドバイザリは、MLflowのリリースノートまたはセキュリティアナウンスメントで確認できます。
CVSS ベクトル
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。