Vulnerability Details CVE-2024-1560
A path traversal vulnerability exists in the mlflow/mlflow repository, specifically within the artifact deletion functionality. Attackers can bypass path validation by exploiting the double decoding process in the `_delete_artifact_mlflow_artifacts` handler and `local_file_uri_to_path` function, allowing for the deletion of arbitrary directories on the server's filesystem. This vulnerability is due to an extra unquote operation in the `delete_artifacts` function of `local_artifact_repo.py`, which fails to properly sanitize user-supplied paths. The issue is present up to version 2.9.2, despite attempts to fix a similar issue in CVE-2023-6831.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.001
EPSS Ranking 34.4%
CVSS Severity
CVSS v3 Score 8.1
Products affected by CVE-2024-1560
-
cpe:2.3:a:lfprojects:mlflow:-
-
cpe:2.3:a:lfprojects:mlflow:0.2.0
-
cpe:2.3:a:lfprojects:mlflow:0.2.1
-
cpe:2.3:a:lfprojects:mlflow:0.3.0
-
cpe:2.3:a:lfprojects:mlflow:0.4.0
-
cpe:2.3:a:lfprojects:mlflow:0.4.1
-
cpe:2.3:a:lfprojects:mlflow:0.4.2
-
cpe:2.3:a:lfprojects:mlflow:0.5.0
-
cpe:2.3:a:lfprojects:mlflow:0.5.1
-
cpe:2.3:a:lfprojects:mlflow:0.5.2
-
cpe:2.3:a:lfprojects:mlflow:0.6.0
-
cpe:2.3:a:lfprojects:mlflow:0.7
-
cpe:2.3:a:lfprojects:mlflow:0.7.0
-
cpe:2.3:a:lfprojects:mlflow:0.8.0
-
cpe:2.3:a:lfprojects:mlflow:0.8.1
-
cpe:2.3:a:lfprojects:mlflow:0.8.2
-
cpe:2.3:a:lfprojects:mlflow:0.9.0
-
cpe:2.3:a:lfprojects:mlflow:0.9.1
-
cpe:2.3:a:lfprojects:mlflow:1.0.0
-
cpe:2.3:a:lfprojects:mlflow:1.1.0
-
cpe:2.3:a:lfprojects:mlflow:1.10.0
-
cpe:2.3:a:lfprojects:mlflow:1.11.0
-
cpe:2.3:a:lfprojects:mlflow:1.12.0
-
cpe:2.3:a:lfprojects:mlflow:1.12.1
-
cpe:2.3:a:lfprojects:mlflow:1.13.0
-
cpe:2.3:a:lfprojects:mlflow:1.13.1
-
cpe:2.3:a:lfprojects:mlflow:1.14.0
-
cpe:2.3:a:lfprojects:mlflow:1.14.1
-
cpe:2.3:a:lfprojects:mlflow:1.15.0
-
cpe:2.3:a:lfprojects:mlflow:1.16.0
-
cpe:2.3:a:lfprojects:mlflow:1.17.0
-
cpe:2.3:a:lfprojects:mlflow:1.18.0
-
cpe:2.3:a:lfprojects:mlflow:1.19.0
-
cpe:2.3:a:lfprojects:mlflow:1.2.0
-
cpe:2.3:a:lfprojects:mlflow:1.20.0
-
cpe:2.3:a:lfprojects:mlflow:1.20.1
-
cpe:2.3:a:lfprojects:mlflow:1.20.2
-
cpe:2.3:a:lfprojects:mlflow:1.21.0
-
cpe:2.3:a:lfprojects:mlflow:1.22.0
-
cpe:2.3:a:lfprojects:mlflow:1.23.0
-
cpe:2.3:a:lfprojects:mlflow:1.23.1
-
cpe:2.3:a:lfprojects:mlflow:1.24.0
-
cpe:2.3:a:lfprojects:mlflow:1.25.0
-
cpe:2.3:a:lfprojects:mlflow:1.25.1
-
cpe:2.3:a:lfprojects:mlflow:1.26.0
-
cpe:2.3:a:lfprojects:mlflow:1.26.1
-
cpe:2.3:a:lfprojects:mlflow:1.27.0
-
cpe:2.3:a:lfprojects:mlflow:1.28.0
-
cpe:2.3:a:lfprojects:mlflow:1.29.0
-
cpe:2.3:a:lfprojects:mlflow:1.3.0
-
cpe:2.3:a:lfprojects:mlflow:1.30.0
-
cpe:2.3:a:lfprojects:mlflow:1.4.0
-
cpe:2.3:a:lfprojects:mlflow:1.5.0
-
cpe:2.3:a:lfprojects:mlflow:1.6.0
-
cpe:2.3:a:lfprojects:mlflow:1.7.0
-
cpe:2.3:a:lfprojects:mlflow:1.7.1
-
cpe:2.3:a:lfprojects:mlflow:1.7.2
-
cpe:2.3:a:lfprojects:mlflow:1.8.0
-
cpe:2.3:a:lfprojects:mlflow:1.9.0
-
cpe:2.3:a:lfprojects:mlflow:1.9.1
-
cpe:2.3:a:lfprojects:mlflow:2.0.0
-
cpe:2.3:a:lfprojects:mlflow:2.0.1
-
cpe:2.3:a:lfprojects:mlflow:2.1.0
-
cpe:2.3:a:lfprojects:mlflow:2.1.1
-
cpe:2.3:a:lfprojects:mlflow:2.2.0
-
cpe:2.3:a:lfprojects:mlflow:2.2.1
-
cpe:2.3:a:lfprojects:mlflow:2.2.2
-
cpe:2.3:a:lfprojects:mlflow:2.3.0
-
cpe:2.3:a:lfprojects:mlflow:2.3.1
-
cpe:2.3:a:lfprojects:mlflow:2.3.2
-
cpe:2.3:a:lfprojects:mlflow:2.4.0
-
cpe:2.3:a:lfprojects:mlflow:2.4.1
-
cpe:2.3:a:lfprojects:mlflow:2.4.2
-
cpe:2.3:a:lfprojects:mlflow:2.5.0
-
cpe:2.3:a:lfprojects:mlflow:2.6.0
-
cpe:2.3:a:lfprojects:mlflow:2.7.0
-
cpe:2.3:a:lfprojects:mlflow:2.7.1
-
cpe:2.3:a:lfprojects:mlflow:2.8.0
-
cpe:2.3:a:lfprojects:mlflow:2.8.1
-
cpe:2.3:a:lfprojects:mlflow:2.9.0
-
cpe:2.3:a:lfprojects:mlflow:2.9.1
-
cpe:2.3:a:lfprojects:mlflow:2.9.2