CVE-2024-1558: Path Traversal Vulnerability in mlflow/mlflow
A path traversal vulnerability exists in the createmodelversion() function within server/handlers.py of the mlflow/mlflow repository, due to improper validation of the source parameter. Attackers can exploit this vulnerability by crafting a source parameter that bypasses the validatenonlocalsourcecontainsrelativepaths(source) function's checks, allowing for arbitrary file read access on the server. The issue arises from the handling of unquoted URL characters and the subsequent misuse of the original source value for model version creation, leading to the exposure of sensitive files when interacting with the /model-versions/get-artifact handler.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2024-1558?
CVE-2024-1558 is classified as a medium severity vulnerability.
How do I fix CVE-2024-1558?
To fix CVE-2024-1558, upgrade the mlflow package to version 2.12.1 or later.
What type of vulnerability is CVE-2024-1558?
CVE-2024-1558 is a path traversal vulnerability.
Which versions of mlflow are affected by CVE-2024-1558?
CVE-2024-1558 affects mlflow versions up to and including 2.9.2.
What causes the CVE-2024-1558 vulnerability?
The CVE-2024-1558 vulnerability is caused by improper validation of the 'source' parameter in the _create_model_version() function.