Plataforma
python
Componente
mlflow
Corrigido em
3.8.2
3.9.0rc0
A vulnerabilidade CVE-2025-15379 refere-se a uma falha de Injeção de Comando no MLflow, explorável através da manipulação do arquivo python_env.yaml durante a inicialização do contêiner de model serving. Um atacante pode injetar comandos maliciosos, resultando na execução arbitrária de código no sistema. A vulnerabilidade afeta versões do MLflow ≤3.8.0rc0 e foi corrigida na versão 3.8.1.
CVE-2025-15379 representa uma vulnerabilidade crítica de injeção de comandos no MLflow, especificamente no código de inicialização do contêiner de serviço de modelos. Essa falha ocorre quando modelos são implantados com envmanager=LOCAL. O MLflow lê as especificações de dependência do arquivo pythonenv.yaml dentro do artefato do modelo e as interpola diretamente em um comando de shell sem sanitização. Um atacante pode explorar isso fornecendo um artefato de modelo malicioso, permitindo a execução de comandos arbitrários no sistema que implanta o modelo. A pontuação CVSS é 10.0, indicando um risco extremamente alto. Versões anteriores a 3.8.1 são afetadas. A causa raiz é a falta de validação de entrada dentro do arquivo python_env.yaml, permitindo a injeção de comandos.
Um atacante poderia explorar esta vulnerabilidade se tiver a capacidade de enviar um artefato de modelo malicioso para o MLflow. Isso poderia ocorrer se o processo de implantação do modelo não validar adequadamente a origem do artefato. O artefato malicioso conteria um arquivo python_env.yaml projetado para injetar comandos arbitrários. Ao implantar o modelo, o MLflow executaria o comando modificado, permitindo que o atacante executasse código no sistema de implantação. A complexidade da exploração é relativamente baixa, pois requer apenas a criação de um artefato malicioso e sua implantação. A confidencialidade, integridade e disponibilidade do sistema podem ser comprometidas.
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
Status do Exploit
EPSS
0.24% (percentil 47%)
CISA SSVC
Vetor CVSS
A mitigação primária para CVE-2025-15379 é atualizar para o MLflow versão 3.8.1 ou superior. Esta versão inclui uma correção que sanitiza a entrada do arquivo pythonenv.yaml, prevenindo a injeção de comandos. Como precaução adicional, considere evitar o uso de envmanager=LOCAL se possível, optando por métodos de gerenciamento de ambiente mais seguros. Se envmanager=LOCAL for necessário, implemente validação e sanitização rigorosas das dependências especificadas no arquivo pythonenv.yaml antes de usá-las em qualquer comando de shell. Monitorar os logs do sistema em busca de atividades suspeitas também é crucial para detectar tentativas de exploração.
Actualice MLflow a la versión 3.8.2 o superior. Esto corrige la vulnerabilidad de inyección de comandos en la inicialización del contenedor de servicio de modelos. La actualización evitará la ejecución de comandos arbitrarios al desplegar modelos con `env_manager=LOCAL`.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
MLflow é uma plataforma de código aberto para gerenciar todo o ciclo de vida do aprendizado de máquina, desde a experimentação até a implantação.
A versão 3.8.1 corrige a vulnerabilidade de injeção de comandos CVE-2025-15379, mitigando o risco de execução de comandos arbitrários.
É uma configuração no MLflow que indica que as dependências do modelo são gerenciadas localmente, lendo as especificações do arquivo python_env.yaml.
Se você estiver usando uma versão do MLflow anterior a 3.8.1 e usar env_manager=LOCAL, você é vulnerável a esta vulnerabilidade.
Além de atualizar, considere evitar envmanager=LOCAL se possível e validar rigorosamente as dependências no arquivo pythonenv.yaml.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.
Envie seu arquivo requirements.txt e descubra na hora se você está afetado.