CVE-2025-15379 是 MLflow 中的一个命令注入漏洞,攻击者可以利用此漏洞在系统上执行任意命令。该漏洞存在于模型服务容器初始化代码中。受影响的版本包括 3.8.0 及以下版本。该漏洞已在 3.8.2 版本中修复,建议尽快更新。
CVE-2025-15379 是 MLflow 中一个关键的命令注入漏洞,尤其是在模型服务容器初始化代码中。当使用 envmanager=LOCAL 部署模型时,此漏洞会发生。MLflow 从模型工件的 pythonenv.yaml 文件中读取依赖项规范,并在未进行任何清理的情况下直接将其插入到 shell 命令中。攻击者可以通过提供恶意的模型工件来利用此漏洞,从而在部署模型的系统上执行任意命令。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,请在将依赖项用于任何 shell 命令之前,严格验证和清理 pythonenv.yaml 文件中指定的依赖项。监控系统日志以查找可疑活动对于检测潜在的利用尝试也很重要。
将 MLflow 库更新到 3.8.2 或更高版本。此版本包含对命令注入漏洞的修复。您可以使用 `pip install mlflow==3.8.2` 或更高版本进行更新。
漏洞分析和关键警报直接发送到您的邮箱。
MLflow 是一个开源平台,用于管理机器学习生命周期的各个方面,从实验到部署。
版本 3.8.1 修复了 CVE-2025-15379 命令注入漏洞,从而降低了执行任意命令的风险。
这是一个 MLflow 设置,表示依赖项由本地管理,并从 python_env.yaml 文件读取规范。
如果您使用的是 MLflow 的 3.8.1 之前的版本,并且使用 env_manager=LOCAL,则您容易受到此漏洞的攻击。
除了升级之外,如果可能,请避免使用 envmanager=LOCAL,并严格验证 pythonenv.yaml 文件中的依赖项。
CVSS 向量
上传你的 requirements.txt 文件,立即知道是否受影响。