Plateforme
python
Composant
mlflow
Corrigé dans
3.9.0
3.9.0rc0
La vulnérabilité CVE-2025-15036 concerne une faille de Path Traversal dans MLflow, permettant à un attaquant de manipuler des fichiers. Les versions affectées sont celles jusqu'à la 3.9.0 incluse. La mise à jour vers la version 3.9.0 corrige cette vulnérabilité.
La vulnérabilité CVE-2025-15036 dans MLflow représente un risque critique de traversée de chemin (path traversal). Elle affecte les versions antérieures à la 3.7.0 et découle d'une validation insuffisante des chemins des membres de l'archive tar.gz lors de l'extraction. Un attaquant ayant la capacité de contrôler le contenu d'un fichier tar.gz malveillant peut exploiter cette faiblesse pour écraser des fichiers arbitraires sur le système, obtenant potentiellement des privilèges élevés ou s'échappant de l'environnement sandbox dans des configurations multi-tenant. Le score CVSS est de 9,6, ce qui indique un risque très élevé. L'absence de validation permet à l'attaquant de manipuler le chemin d'extraction pour accéder à des répertoires en dehors de la destination prévue, compromettant l'intégrité et la confidentialité des données.
Un attaquant pourrait exploiter cette vulnérabilité en fournissant un fichier tar.gz spécialement conçu à MLflow pour l'extraction. Ce fichier contiendrait des noms de fichiers qui, lors de l'extraction, permettraient à l'attaquant d'écrire des fichiers en dehors du répertoire de destination prévu. Par exemple, un nom de fichier comme '../etc/passwd' pourrait écraser le fichier de mot de passe du système. L'exploitation est plus probable dans les scénarios où MLflow est utilisé pour traiter des artefacts fournis par des utilisateurs non fiables ou dans des environnements partagés où la sécurité du fichier tar.gz ne peut être garantie. La complexité de l'exploitation est relativement faible, car elle ne nécessite que la création d'un fichier tar.gz malveillant.
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
Statut de l'Exploit
EPSS
0.05% (percentile 17%)
CISA SSVC
Vecteur CVSS
La solution recommandée est de mettre à niveau MLflow vers la version 3.7.0 ou supérieure. Cette version corrige la vulnérabilité en mettant en œuvre une validation robuste des chemins des fichiers tar.gz lors de l'extraction, empêchant la traversée de chemin. De plus, il est recommandé de revoir et de renforcer les politiques de sécurité relatives à la gestion des artefacts et à la validation des entrées utilisateur. Dans les environnements multi-tenant, la mise en œuvre de mesures d'isolation supplémentaires est essentielle pour atténuer l'impact potentiel d'une exploitation réussie. La surveillance des journaux système à la recherche d'activités suspectes est également une pratique recommandée pour détecter et répondre aux attaques potentielles.
Mettez à jour la bibliothèque mlflow vers la version 3.9.0 ou supérieure. Cela corrige la vulnérabilité de path traversal dans la fonction `extract_archive_to_dir`. La mise à jour empêchera la possibilité pour un attaquant d'écraser des fichiers arbitraires ou d'élever des privilèges en manipulant des fichiers tar.gz.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
Toutes les versions antérieures à la 3.7.0 sont vulnérables au CVE-2025-15036.
Exécutez mlflow --version dans votre terminal. Si le numéro de version est inférieur à 3.7.0, vous utilisez une version vulnérable.
En tant que mesure temporaire, évitez de traiter les fichiers tar.gz provenant de sources non fiables. Mettez en œuvre des contrôles d'accès stricts pour limiter qui peut télécharger des artefacts vers MLflow.
Il existe des outils d'analyse de logiciels malveillants qui peuvent analyser les fichiers tar.gz à la recherche de contenu suspect. Cependant, la détection n'est pas infaillible.
Une traversée de chemin est une vulnérabilité de sécurité qui permet à un attaquant d'accéder à des fichiers ou des répertoires en dehors du répertoire prévu, en utilisant souvent des séquences comme '..' dans le chemin du fichier.
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é.