Plataforma
python
Componente
mlflow
Corregido en
2.9.3
Se ha identificado una vulnerabilidad de Path Traversal en el componente mlflow/mlflow de MLflow, específicamente en el manejo del parámetro artifact_location al crear un experimento. Esta falla permite a los atacantes, mediante el uso de un fragmento de componente # en la URI de la ubicación del artefacto, leer archivos arbitrarios en el servidor. La vulnerabilidad afecta a las versiones de MLflow 2.9.2 y anteriores y se recomienda actualizar a la versión corregida lo antes posible.
La explotación exitosa de esta vulnerabilidad permite a un atacante leer archivos sensibles ubicados en el servidor donde se ejecuta MLflow. Esto podría incluir archivos de configuración, claves API, contraseñas u otros datos confidenciales. El atacante no necesita autenticación para explotar esta vulnerabilidad, lo que amplía significativamente el potencial de daño. La capacidad de leer archivos arbitrarios podría usarse para obtener información sobre la infraestructura subyacente, escalar privilegios o incluso ejecutar código malicioso en el servidor, dependiendo de los permisos del proceso de MLflow. Esta vulnerabilidad comparte similitudes con CVE-2023-6909, pero explota un componente diferente de la URI para lograr el mismo objetivo.
Esta vulnerabilidad fue publicada el 16 de abril de 2024. Actualmente no se conoce la existencia de un PoC público, pero la naturaleza de Path Traversal sugiere que es probable que se desarrolle uno en el futuro cercano. La probabilidad de explotación se considera media debido a la relativa facilidad de explotación de las vulnerabilidades de Path Traversal y la falta de autenticación requerida. Se recomienda monitorear las fuentes de inteligencia de amenazas para detectar cualquier actividad maliciosa relacionada con esta vulnerabilidad.
Organizations deploying MLflow for machine learning model tracking and management are at risk. This includes teams using MLflow in production environments, particularly those with custom configurations or integrations that might not be fully aware of the vulnerability's implications. Shared hosting environments where multiple users share the same MLflow instance are also at increased risk.
• python / mlflow: Inspect MLflow server logs for requests containing # in the artifact_location parameter.
# Example: Search for log entries containing '#'
with open('mlflow.log', 'r') as f:
for line in f:
if '#' in line:
print(line)• generic web: Monitor web server access logs for requests to MLflow endpoints with unusual or unexpected characters in the artifact_location parameter.
• generic web: Check for unexpected files appearing in the MLflow artifact storage directory.
disclosure
Estado del Exploit
EPSS
0.21% (43% percentil)
CISA SSVC
Vector CVSS
La mitigación principal para esta vulnerabilidad es actualizar a una versión de MLflow que contenga la corrección. Si la actualización inmediata no es posible, se recomienda implementar controles de acceso más estrictos en el directorio donde MLflow almacena los artefactos. Esto podría incluir la configuración de permisos de archivo que restrinjan el acceso a usuarios o grupos específicos. Además, se puede considerar el uso de un proxy inverso o firewall de aplicaciones web (WAF) para filtrar las solicitudes que contienen fragmentos de componente # en la URI de la ubicación del artefacto. Después de la actualización, confirme que la vulnerabilidad ha sido resuelta verificando que el parámetro artifact_location se valida correctamente y que el acceso a archivos arbitrarios está denegado.
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-1594 is a Path Traversal vulnerability affecting MLflow versions 2.9.2 and earlier, allowing attackers to read arbitrary files by manipulating the artifact location URI.
You are affected if you are using MLflow version 2.9.2 or earlier. Upgrade to a patched version to mitigate the risk.
Upgrade to a patched version of MLflow. As a temporary workaround, implement input validation on the artifact_location parameter to prevent fragment components.
There are currently no confirmed reports of active exploitation, but the vulnerability is publicly known and a proof-of-concept may exist.
Refer to the MLflow security advisories and release notes on the MLflow GitHub repository for the latest information.
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.