Plateforme
python
Composant
mlflow
Corrigé dans
3.8.2
3.9.0rc0
CVE-2025-15379 est une vulnérabilité d'injection de commande dans le code d'initialisation du conteneur de service de modèle de MLflow. Plus précisément, elle se situe dans la fonction installmodeldependenciestoenv(). Lors du déploiement d'un modèle avec envmanager=LOCAL, MLflow interpole directement les spécifications de dépendance du fichier python_env.yaml dans une commande shell sans assainissement. Un attaquant peut ainsi exécuter des commandes arbitraires. Les versions affectées sont ≤3.8.0rc0, et le problème est corrigé dans la version 3.8.1.
CVE-2025-15379 représente une vulnérabilité critique d'injection de commandes dans MLflow, en particulier dans le code d'initialisation du conteneur de service de modèles. Cette faille survient lorsque des modèles sont déployés avec envmanager=LOCAL. MLflow lit les spécifications de dépendances à partir du fichier pythonenv.yaml dans l'artefact du modèle et les interpole directement dans une commande shell sans sanitisation. Un attaquant peut exploiter cela en fournissant un artefact de modèle malveillant, ce qui permet l'exécution de commandes arbitraires sur les systèmes déployant le modèle. Le score CVSS est de 10.0, indiquant un risque extrêmement élevé. Les versions antérieures à 3.8.1 sont affectées. La cause première est l'absence de validation des entrées dans le fichier python_env.yaml, ce qui permet l'injection de commandes.
Un attaquant pourrait exploiter cette vulnérabilité s'il a la capacité de télécharger un artefact de modèle malveillant vers MLflow. Cela pourrait se produire si le processus de déploiement du modèle ne valide pas correctement la source de l'artefact. L'artefact malveillant contiendrait un fichier python_env.yaml conçu pour injecter des commandes arbitraires. Lors du déploiement du modèle, MLflow exécuterait la commande modifiée, permettant à l'attaquant d'exécuter du code sur le système de déploiement. La complexité de l'exploitation est relativement faible, car elle ne nécessite que la création d'un artefact malveillant et son déploiement. La confidentialité, l'intégrité et la disponibilité du système pourraient être compromises.
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
Statut de l'Exploit
EPSS
0.24% (percentile 47%)
CISA SSVC
Vecteur CVSS
L'atténuation principale pour CVE-2025-15379 consiste à mettre à niveau vers MLflow version 3.8.1 ou supérieure. Cette version inclut une correction qui désinfecte les entrées du fichier pythonenv.yaml, empêchant l'injection de commandes. En guise de précaution supplémentaire, envisagez d'éviter d'utiliser envmanager=LOCAL si possible, en optant pour des méthodes de gestion des environnements plus sécurisées. Si envmanager=LOCAL est nécessaire, mettez en œuvre une validation et une désinfection rigoureuses des dépendances spécifiées dans le fichier pythonenv.yaml avant de les utiliser dans une commande shell. Surveiller les journaux du système à la recherche d'activités suspectes est également essentiel pour détecter les tentatives d'exploitation potentielles.
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`.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
MLflow est une plateforme open source pour gérer l'ensemble du cycle de vie de l'apprentissage automatique, de l'expérimentation au déploiement.
La version 3.8.1 corrige la vulnérabilité d'injection de commandes CVE-2025-15379, atténuant le risque d'exécution de commandes arbitraires.
C'est un paramètre dans MLflow qui indique que les dépendances sont gérées localement, en lisant les spécifications à partir du fichier python_env.yaml.
Si vous utilisez une version de MLflow antérieure à 3.8.1 et que vous utilisez env_manager=LOCAL, vous êtes vulnérable à cette vulnérabilité.
En plus de la mise à niveau, envisagez d'éviter envmanager=LOCAL si possible et de valider rigoureusement les dépendances dans le fichier pythonenv.yaml.
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.
Téléverse ton fichier requirements.txt et nous te dirons instantanément si tu es affecté.