Plataforma
python
Componente
mlflow
Corregido en
2.12.1
Se ha identificado una vulnerabilidad de Path Traversal en la función createmodel_version() del componente server/handlers.py del repositorio mlflow/mlflow. Esta falla de seguridad permite a atacantes acceder a archivos sensibles en el servidor, explotando una validación inadecuada del parámetro source. La vulnerabilidad afecta a las versiones de mlflow 2.9.2 y anteriores, y se recomienda actualizar a la versión 2.12.1 para solucionar el problema.
La vulnerabilidad de Path Traversal en mlflow permite a un atacante, mediante la manipulación del parámetro source, eludir las comprobaciones de seguridad y leer archivos arbitrarios en el servidor donde se ejecuta mlflow. Esto podría resultar en la exposición de información confidencial, como claves de API, contraseñas, datos de entrenamiento de modelos o incluso código fuente. El impacto potencial es significativo, ya que un atacante podría obtener acceso a información crítica para la operación del sistema y comprometer la integridad de los modelos de machine learning. La capacidad de leer archivos arbitrarios abre la puerta a la escalada de privilegios y al control del servidor.
Esta vulnerabilidad ha sido publicada públicamente el 16 de abril de 2024. No se ha confirmado la explotación activa en entornos reales, pero la disponibilidad de la información sobre la vulnerabilidad aumenta el riesgo de ataques. No se ha añadido a KEV (CISA Known Exploited Vulnerabilities) al momento de esta redacción, pero la probabilidad de explotación es considerada media debido a la relativa facilidad de explotación y la naturaleza sensible de los datos que podrían ser comprometidos. Se recomienda monitorear las fuentes de inteligencia de amenazas para detectar cualquier actividad sospechosa.
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
Estado del Exploit
EPSS
0.09% (26% percentil)
CISA SSVC
Vector CVSS
La mitigación principal para esta vulnerabilidad es actualizar a la versión 2.12.1 de mlflow, donde se ha corregido el problema. Si la actualización inmediata no es posible, se recomienda implementar medidas de seguridad adicionales. Restrinja el acceso al servidor mlflow a usuarios y servicios autorizados. Implemente reglas en un firewall de aplicaciones web (WAF) para bloquear solicitudes que contengan caracteres sospechosos en el parámetro source. Monitoree los logs del servidor en busca de intentos de acceso a archivos no autorizados. Considere la posibilidad de utilizar un sistema de control de acceso basado en roles (RBAC) para limitar los privilegios de los usuarios.
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.
Análisis de vulnerabilidades y alertas críticas directamente en tu correo.
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
Sube tu archivo de dependencias y detecta esta y otras CVEs al instante.
Sube tu archivo requirements.txt y te decimos al instante si estás afectado.