BIT-mlflow-2024-8859
Path Traversal vulnerability in mlflow (PyPI)
What is BIT-mlflow-2024-8859 About?
A path traversal vulnerability in mlflow/mlflow version 2.15.1 allows attackers to achieve arbitrary file read when the dbfs service is configured and mounted to a local directory. By concatenating the URL directly into the file protocol, attackers can bypass path checks due to unhandled query and parameter parts, leading to information disclosure. Exploitation is relatively easy under specific service configurations.
Affected Software
Technical Details
The vulnerability is a path traversal flaw affecting mlflow/mlflow version 2.15.1. It occurs when the dbfs service is configured and mounted to a local directory. The issue stems from improper handling of URLs that are concatenated directly into the file protocol. Specifically, the system only checks the path component of the URL for sanitization, completely ignoring the query and parameter parts. An attacker can append path traversal sequences (e.g., ../) within the query or parameter sections of a URL that is processed by the dbfs service. When this malformed URL is used to access files, these unhandled parts allow the crafted path to traverse outside the intended directory, enabling the attacker to read arbitrary files from the local file system where dbfs is mounted.
What is the Impact of BIT-mlflow-2024-8859?
Successful exploitation may allow attackers to read arbitrary files from the server's file system, potentially leading to disclosure of sensitive information, configuration files, or credentials, which can compromise the system's security.
What is the Exploitability of BIT-mlflow-2024-8859?
Exploitation requires the mlflow/mlflow application to be running version 2.15.1, have the dbfs service configured, and for dbfs to be mounted to a local directory. The attacker needs to craft a URL that includes path traversal sequences within the query or parameter parts, which is then processed by a vulnerable endpoint handling file access via the dbfs service. Authentication to interact with the mlflow service would likely be required, but privilege requirements would depend on how the dbfs service is exposed and used. Access can be remote if the mlflow instance is exposed externally. The complexity is moderate, requiring an understanding of URL parsing and path traversal techniques. The primary risk factor is the deployment of dbfs service with local directory mounts and the application's failure to fully sanitize all parts of user-supplied URLs.
What are the Known Public Exploits?
| PoC Author | Link | Commentary |
|---|---|---|
| No known exploits | ||
What are the Available Fixes for BIT-mlflow-2024-8859?
Available Upgrade Options
- mlflow
- <2.17.0rc0 → Upgrade to 2.17.0rc0
Struggling with dependency upgrades?
See how Resolved Security's drop-in replacements make it simple.
Book a demoAdditional Resources
- https://osv.dev/vulnerability/GHSA-4rqf-8pfm-p36r
- https://huntr.com/bounties/2259b88b-a0c6-4c7c-b434-6aacf6056dcb
- https://github.com/mlflow/mlflow/commit/7791b8cdd595f21b5f179c7b17e4b5eb5cbbe654
- https://nvd.nist.gov/vuln/detail/CVE-2024-8859
- https://huntr.com/bounties/2259b88b-a0c6-4c7c-b434-6aacf6056dcb
- https://github.com/mlflow/mlflow
- https://github.com/mlflow/mlflow/commit/7791b8cdd595f21b5f179c7b17e4b5eb5cbbe654
What are Similar Vulnerabilities to BIT-mlflow-2024-8859?
Similar Vulnerabilities: CVE-2023-45133 , CVE-2022-26134 , CVE-2021-41277 , CVE-2020-13942 , CVE-2019-15942
