CVE-2024-3848 Path Traversal Bypass in mlflow/mlflow

High 7.5 Published Updated

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.

Weakness: CWE-22, CWE-29

Which versions are affected by CVE-2024-3848?

4 open source packages ship an affected version, including mlflow. It affects 1 product.

PackageAffectedFixed in
mlflow BitnamiAll versions2.12.1
mlflow PyPIAll versions2.12.1
mlflow PyPIFrom 2.9.22.12.1
mlflow PyPIFrom 2.9.22.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.

All Lfprojects Mlflow vulnerabilities

Sources

Also known as BIT-mlflow-2024-3848, GHSA-rfqq-wq6w-72jm, PYSEC-2024-244.

Is CVE-2024-3848 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free