Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
CVE-2024-1558
Summary
A path traversal vulnerability exists in the "_create_model_version()" function within "server/handlers.py" of the mlflow versions prior to 2.11.2, due to improper validation of the "source" parameter. Attackers can exploit this vulnerability by crafting a "source" parameter that bypasses the "_validate_non_local_source_contains_relative_paths(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.
- LOW
- NETWORK
- NONE
- UNCHANGED
- NONE
- NONE
- HIGH
- NONE
CWE-22 - Path Traversal
Path traversal (or directory traversal), is a vulnerability that allows malicious users to traverse the server's root directory, gaining access to arbitrary files and folders such as application code & data, back-end credentials, and sensitive operating system files. In the worst-case scenario, an attacker could potentially execute arbitrary files on the server, resulting in a denial of service attack. Such an exploit may severely impact the integrity, confidentiality, and availability of an application.
References
Advisory Timeline
- Published