highCVSS 8.8NVD status: Modified

CVE-2024-0520

MLflow: A vulnerability in mlflow/mlflow version 8.2.1 allows for remote code execution due to improper neutralization of special elements used in an OS command ('Command Injection') within the `mlflow.data.http_dataset_sourc...

ComponentMLflow
Severityhigh (CVSS 8.8)
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Published (NVD)2024-06-06
Last modified2026-06-17
Affected versions
mlflow < 2.9.0
Fixed in2.9.0
WeaknessCWE-22
CISA KEVnot listed

NVD description

A vulnerability in mlflow/mlflow version 8.2.1 allows for remote code execution due to improper neutralization of special elements used in an OS command ('Command Injection') within the `mlflow.data.http_dataset_source.py` module. Specifically, when loading a dataset from a source URL with an HTTP scheme, the filename extracted from the `Content-Disposition` header or the URL path is used to generate the final file path without proper sanitization. This flaw enables an attacker to control the file path fully by utilizing path traversal or absolute path techniques, such as '../../tmp/poc.txt' or '/tmp/poc.txt', leading to arbitrary file write. Exploiting this vulnerability could allow a malicious user to execute commands on the vulnerable machine, potentially gaining access to data and model information. The issue is fixed in version 2.9.0.

Does CVE-2024-0520 hit the version you run?Paste your docker-compose.yml, requirements.txt or package.json. The scanner checks your pinned versions against this CVE and every other one we track for MLflow.
Check my stack

What to do

  • Upgrade MLflow to 2.9.0 or later.
  • Do not expose the component's API or UI to the internet without authentication in front of it.

Sources

Read more

Other MLflow CVEs

All MLflow CVEs