CVE-2025-15379MLflow是一个开源的机器学习生命周期管理平台。该漏洞存在于MLflow的模型服务容器初始化代码中的`_install_model_dependencies_to_env()`函数。当使用`env_manager=LOCAL`部署模型时,系统会从模型工件的`python_env.yaml`文件中读取依赖规范,并在未进行清理的情况下将其直接插入到Shell命令中。攻击者可以通过提供恶意的模型工件,在部署该模型的系统上实现任意命令执行。该漏洞CVSS评分为9.8,属于严重级别风险,无需身份认证且无需用户交互即可被利用。
该漏洞的根本原因是MLflow在处理模型依赖安装时的输入验证缺失。具体而言,漏洞函数`_install_model_dependencies_to_env()`负责将模型环境所需的Python包安装到本地环境中。当攻击者控制了模型工件,并修改其中的`python_env.yaml`文件(例如在依赖名称中注入Shell元字符如`;`, `&`, `|`, `$()`等)时,MLflow会读取这些恶意配置并将其作为参数拼接到底层的Shell命令(如`pip install`)中执行。由于缺乏有效的过滤和转义机制,攻击者注入的命令将被操作系统Shell解析并执行。利用此漏洞无需任何身份认证,攻击者只需诱导受害者部署包含恶意`python_env.yaml`的模型,即可在服务器端获得远程代码执行权限,进而完全控制主机。