CVE-2025-15036 是 MLflow 中的一个路径遍历漏洞,攻击者可以利用此漏洞覆盖任意文件,甚至可能逃避沙盒目录。此漏洞存在于 extractarchiveto_dir 函数中。受影响的版本包括 3.9.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` 函数中的路径遍历漏洞。可以使用 pip 包管理器进行更新:`pip install mlflow --upgrade`。
漏洞分析和关键警报直接发送到您的邮箱。
3.7.0 之前的所有版本都存在 CVE-2025-15036 漏洞。
在您的终端中运行 mlflow --version。如果版本号小于 3.7.0,则您正在使用易受攻击的版本。
作为临时措施,请避免处理来自不可信来源的 tar.gz 文件。实施严格的访问控制,以限制谁可以向 MLflow 上传工件。
有一些恶意软件分析工具可以扫描 tar.gz 文件以查找可疑内容。但是,检测并非万无一失。
路径遍历是一种安全漏洞,允许攻击者访问预期目录之外的文件或目录,通常通过在文件路径中使用诸如 '..' 之类的序列。
CVSS 向量
上传你的 requirements.txt 文件,立即知道是否受影响。