Plateforme
python
Composant
mlflow
Corrigé dans
2.9.3
Une vulnérabilité de traversal de chemin a été découverte dans le dépôt mlflow/mlflow, affectant la fonctionnalité de suppression d'artefacts. Cette faille permet à des attaquants de contourner la validation de chemin en exploitant un processus de double décodage dans les fonctions deleteartifactmlflowartifacts et localfileuritopath, leur permettant de supprimer des répertoires arbitraires sur le système de fichiers du serveur. La vulnérabilité touche les versions de MLflow inférieures ou égales à 2.9.2.
L'exploitation réussie de cette vulnérabilité permet à un attaquant de supprimer des fichiers et des répertoires sensibles sur le serveur MLflow. Cela peut entraîner une perte de données, une perturbation du service et potentiellement un accès non autorisé à d'autres ressources système. L'attaquant pourrait cibler des fichiers de configuration, des modèles d'apprentissage automatique ou des données d'entraînement, compromettant ainsi l'intégrité et la confidentialité du système. En raison de la nature de traversal de chemin, l'attaquant n'est pas limité à la suppression d'artefacts MLflow, mais peut potentiellement affecter l'ensemble du système de fichiers accessible au processus MLflow.
Cette vulnérabilité a été rendue publique le 16 avril 2024. Bien qu'aucune exploitation active à grande échelle n'ait été signalée à ce jour, la nature simple de la vulnérabilité et la disponibilité de la description technique suggèrent un risque d'exploitation rapide. Il n'y a pas d'entrée dans le KEV à ce jour. Un proof-of-concept public est probable dans un avenir proche.
Organizations heavily reliant on MLflow for model tracking, deployment, and management are at significant risk. Specifically, environments with shared MLflow instances or those lacking robust access controls are particularly vulnerable. Users who have write access to the MLflow artifact store are potential threat actors.
• python / server:
import os
import subprocess
def check_mlflow_vulnerability():
try:
result = subprocess.run(['mlflow', 'artifacts', 'list'], capture_output=True, text=True, check=True)
if '2.9.2' in result.stdout:
print("MLflow version is vulnerable.")
else:
print("MLflow version is likely patched.")
except FileNotFoundError:
print("MLflow not found.")
check_mlflow_vulnerability()• linux / server:
journalctl -u mlflow -g 'artifact deletion' | grep -i error• generic web:
Use curl to test artifact deletion endpoints with path traversal payloads (e.g., curl 'http://mlflow-server/artifacts/../sensitive_file') and observe the response.
disclosure
Statut de l'Exploit
EPSS
0.11% (percentile 29%)
Vecteur CVSS
La mitigation immédiate consiste à mettre à jour MLflow vers une version corrigée dès que possible. En attendant la mise à jour, des mesures d'atténuation peuvent être mises en œuvre. Il est crucial de restreindre les autorisations du processus MLflow pour limiter l'accès au système de fichiers. La configuration d'un pare-feu applicatif web (WAF) peut aider à bloquer les requêtes malveillantes exploitant cette vulnérabilité. Surveillez attentivement les journaux du serveur pour détecter toute activité suspecte, en particulier les tentatives de suppression de fichiers non autorisées. Une analyse approfondie du code peut identifier et corriger le problème de double décodage.
Actualice la biblioteca mlflow a una versión posterior a la 2.9.2. Esto solucionará la vulnerabilidad de path traversal. Puede actualizar usando `pip install mlflow --upgrade`.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
CVE-2024-1560 is a Path Traversal vulnerability in MLflow versions up to 2.9.2, allowing attackers to delete arbitrary files on the server.
You are affected if you are using MLflow version 2.9.2 or earlier. Check your MLflow version and upgrade if necessary.
Upgrade to a patched version of MLflow. Consult the official MLflow release notes for the latest version with the fix.
There is currently no confirmed evidence of active exploitation, but public proof-of-concept exploits are available.
Refer to the MLflow GitHub security advisory: https://github.com/mlflow/mlflow/security/advisories/GHSA-9894-3937-3947
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é.