CVE-2024-3848 Path Traversal Bypass in mlflow/mlflow
Attackers can read arbitrary files, including sensitive keys, by exploiting a path traversal bypass in MLflow's artifact URL handling.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-3848?
CVE-2024-3848 is a high-severity path traversal vulnerability in Lfprojects Mlflow, published on 16 May 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
A path traversal vulnerability exists in mlflow/mlflow version 2.11.0, identified as a bypass for the previously addressed CVE-2023-6909. The vulnerability arises from the application's handling of artifact URLs, where a '#' character can be used to insert a path into the fragment, effectively skipping validation. This allows an attacker to construct a URL that, when processed, ignores the protocol scheme and uses the provided path for filesystem access. As a result, an attacker can read arbitrary files, including sensitive information such as SSH and cloud keys, by exploiting the way the application converts the URL into a filesystem path. The issue stems from insufficient validation of the fragment portion of the URL, leading to arbitrary file read through path traversal.
Which versions are affected by CVE-2024-3848?
4 open source packages ship an affected version, including mlflow. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
mlflow Bitnami | All versions | 2.12.1 |
mlflow PyPI | All versions | 2.12.1 |
mlflow PyPI | From 2.9.2 | 2.12.1 |
mlflow PyPI | From 2.9.2 | 2.12.1 |
Products include Lfprojects Mlflow.
How do I fix CVE-2024-3848?
Upgrade mlflow to 2.12.1 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2024-3848 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-3848 exists.
Public exploit code: 1 Nuclei template.
Other vulnerabilities in Lfprojects Mlflow
- CVE-2026-64849 MLflow Server-Side Request Forgery
- CVE-2025-15379 Command Injection in mlflow/mlflow
- CVE-2024-0520 Remote Code Execution due to Full Controlled File Write in mlflow/mlflow
- CVE-2023-6977 Path Traversal: '\..\filename'
- CVE-2023-6709 Improper Neutralization of Special Elements Used in a Template Engine in mlflow/mlflow
Sources
Also known as BIT-mlflow-2024-3848, GHSA-rfqq-wq6w-72jm, PYSEC-2024-244.