Plateforme
python
Composant
mlflow
Corrigé dans
2.12.1
Une vulnérabilité de traversal de chemin a été découverte dans la fonction createmodel_version() du module server/handlers.py du projet mlflow/mlflow. Cette faille permet à des attaquants d'accéder à des fichiers sensibles sur le serveur en manipulant le paramètre source. Les versions de MLflow affectées sont celles inférieures ou égales à 2.9.2. Une correction est disponible dans la version 2.12.1.
L'exploitation réussie de cette vulnérabilité permet à un attaquant de lire des fichiers arbitraires sur le serveur MLflow. Cela peut inclure des fichiers de configuration contenant des informations sensibles, des clés API, des données d'entraînement ou d'autres informations confidentielles. L'attaquant pourrait potentiellement compromettre l'intégrité et la confidentialité des données stockées sur le serveur. Bien que la description ne mentionne pas de mouvement latéral direct, l'accès à des fichiers de configuration pourrait révéler des informations permettant de compromettre d'autres systèmes sur le réseau. La portée de cette vulnérabilité dépend de la configuration du serveur MLflow et des permissions accordées au compte utilisé par le processus MLflow.
Cette vulnérabilité a été rendue publique le 16 avril 2024. Il n'y a pas d'indication d'une exploitation active à grande échelle à ce jour. Aucun PoC public n'a été largement diffusé, mais la nature de la vulnérabilité de traversal de chemin la rend potentiellement exploitable. Elle n'est pas encore répertoriée sur le KEV de CISA.
Organizations deploying MLflow for machine learning model management, particularly those using older versions (≤2.9.2), are at risk. Shared hosting environments where multiple users share the same MLflow instance are especially vulnerable, as an attacker could potentially access data belonging to other users. Environments with weak access controls to the MLflow tracking server are also at increased risk.
• python / mlflow:
import os
import mlflow
# Attempt to read a file outside the intended directory
try:
mlflow.tracking.MlflowClient().create_model_version('model', '1', source='../../../../../../etc/passwd')
print('Potential vulnerability detected!')
except Exception as e:
print(f'Error: {e}')• generic web: Check MLflow server logs for requests containing path traversal sequences (e.g., '../').
• generic web: Monitor network traffic to the MLflow server for suspicious requests targeting the /tracking/model-versions endpoint.
disclosure
Statut de l'Exploit
EPSS
0.09% (percentile 26%)
CISA SSVC
Vecteur CVSS
La mitigation principale consiste à mettre à jour MLflow vers la version 2.12.1 ou supérieure, qui corrige cette vulnérabilité. Si la mise à jour n'est pas immédiatement possible, envisagez de restreindre l'accès au serveur MLflow via un pare-feu ou un proxy inverse. Vérifiez également les permissions des fichiers et répertoires sur le serveur pour vous assurer que le processus MLflow n'a accès qu'aux ressources nécessaires. Il n'existe pas de règles WAF spécifiques connues pour cette vulnérabilité, mais une règle générale interdisant les caractères spéciaux dans les chemins d'accès pourrait aider à atténuer le risque. Après la mise à jour, vérifiez que la vulnérabilité est corrigée en tentant une requête avec un paramètre source malveillant et en confirmant que l'accès est refusé.
Actualice la biblioteca mlflow a la última versión disponible. Esto solucionará la vulnerabilidad de path traversal. Consulte las notas de la versión para obtener más detalles sobre la actualización.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
CVE-2024-1558 is a path traversal vulnerability in MLflow versions 2.9.2 and earlier, allowing attackers to read arbitrary files on the server by manipulating the 'source' parameter.
You are affected if you are using MLflow versions 2.9.2 or earlier. Upgrade to 2.12.1 or later to mitigate the risk.
Upgrade MLflow to version 2.12.1 or later. Implement temporary workarounds like restricting access and validating input if immediate upgrade is not possible.
There is currently no indication of active exploitation in the wild, but the vulnerability is publicly known and a proof-of-concept may be available.
Refer to the MLflow GitHub security advisory: https://github.com/mlflow/mlflow/security/advisories/GHSA-983x-x93g-956x
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é.