CVE-2024-1560: MLflow: path traversal allows arbitrary directory deletion
HIGH PoC AVAILABLE CISA: TRACK*Any authenticated user—even low-privilege—on an exposed MLflow server can delete arbitrary directories on the filesystem, including production model artifacts, training checkpoints, and system paths. This bypasses the prior CVE-2023-6831 fix via double URL-decoding, meaning teams that patched once may still be vulnerable. Upgrade MLflow past 2.9.2 immediately and isolate MLflow servers behind VPN or internal-only network controls.
Risk Assessment
HIGH. CVSS 8.1 reflects a dangerous combination: network-accessible, low attack complexity, and only low privileges required. MLflow servers are routinely deployed in data science environments with minimal network segmentation—often reachable by all members of an engineering org or exposed via internal tooling. The double-decoding bypass is reliable and reproducible. Impact includes permanent destruction of trained model artifacts, experiment data, and pipeline configurations. The bypass of a prior patch (CVE-2023-6831) signals active researcher attention to this attack surface and increases the likelihood of weaponized exploits.
Affected Systems
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| mlflow | pip | — | No patch |
Do you use mlflow? You're affected.
Severity & Risk
Attack Surface
Recommended Action
6 steps-
PATCH
Upgrade MLflow beyond version 2.9.2 immediately—this is the definitive fix.
-
NETWORK
Restrict MLflow server access to trusted IPs and VPN segments; never expose the MLflow UI or API to the public internet.
-
FILESYSTEM
Run the MLflow process as a low-privilege OS user scoped only to the artifact root; use containers or chroot to enforce filesystem boundaries.
-
MONITOR
Alert on DELETE requests to /api/2.0/mlflow-artifacts/ endpoints containing encoded characters (%25, %2F, or double-encoded sequences)—these are strong indicators of traversal attempts.
-
BACKUPS
Implement immutable or versioned backups of all artifact storage directories so that a deletion event does not result in irreversible loss.
-
AUDIT
Review MLflow access logs retroactively for suspicious DELETE calls with unusual path patterns to identify potential prior exploitation.
CISA SSVC Assessment
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
Classification
Compliance Impact
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2024-1560?
Any authenticated user—even low-privilege—on an exposed MLflow server can delete arbitrary directories on the filesystem, including production model artifacts, training checkpoints, and system paths. This bypasses the prior CVE-2023-6831 fix via double URL-decoding, meaning teams that patched once may still be vulnerable. Upgrade MLflow past 2.9.2 immediately and isolate MLflow servers behind VPN or internal-only network controls.
Is CVE-2024-1560 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2024-1560, increasing the risk of exploitation.
How to fix CVE-2024-1560?
1. PATCH: Upgrade MLflow beyond version 2.9.2 immediately—this is the definitive fix. 2. NETWORK: Restrict MLflow server access to trusted IPs and VPN segments; never expose the MLflow UI or API to the public internet. 3. FILESYSTEM: Run the MLflow process as a low-privilege OS user scoped only to the artifact root; use containers or chroot to enforce filesystem boundaries. 4. MONITOR: Alert on DELETE requests to /api/2.0/mlflow-artifacts/ endpoints containing encoded characters (%25, %2F, or double-encoded sequences)—these are strong indicators of traversal attempts. 5. BACKUPS: Implement immutable or versioned backups of all artifact storage directories so that a deletion event does not result in irreversible loss. 6. AUDIT: Review MLflow access logs retroactively for suspicious DELETE calls with unusual path patterns to identify potential prior exploitation.
What systems are affected by CVE-2024-1560?
This vulnerability affects the following AI/ML architecture patterns: MLflow experiment tracking servers, MLflow Model Registry, training pipelines, artifact stores, MLOps CI/CD pipelines.
What is the CVSS score for CVE-2024-1560?
CVE-2024-1560 has a CVSS v3.1 base score of 8.1 (HIGH). The EPSS exploitation probability is 0.11%.
Technical Details
NVD Description
A path traversal vulnerability exists in the mlflow/mlflow repository, specifically within the artifact deletion functionality. Attackers can bypass path validation by exploiting the double decoding process in the `_delete_artifact_mlflow_artifacts` handler and `local_file_uri_to_path` function, allowing for the deletion of arbitrary directories on the server's filesystem. This vulnerability is due to an extra unquote operation in the `delete_artifacts` function of `local_artifact_repo.py`, which fails to properly sanitize user-supplied paths. The issue is present up to version 2.9.2, despite attempts to fix a similar issue in CVE-2023-6831.
Exploitation Scenario
An attacker with standard MLflow read/write access (a compromised data scientist account or a leaked service token) crafts an artifact deletion API request where the path is double-URL-encoded: %252F..%252F..%252F.. resolves to /../ after the extra unquote applied by delete_artifacts in local_artifact_repo.py. The handler decodes once, passes the path to local_file_uri_to_path which decodes again, escaping the artifact root entirely. The attacker targets the MLflow artifact delete endpoint with a traversal payload, first wiping the model registry to destroy production model artifacts ahead of a scheduled release, then targeting configuration directories to disable the ML platform—all without ever requiring elevated permissions and with no interactive steps required.
Weaknesses (CWE)
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H References
- huntr.com/bounties/4a34259c-3c8f-4872-b178-f27fbc876b98 Exploit Issue 3rd Party
Timeline
Related Vulnerabilities
CVE-2025-15379 10.0 MLflow: RCE via unsanitized model dependency specs
Same package: mlflow CVE-2023-3765 10.0 MLflow: path traversal allows arbitrary file read
Same package: mlflow CVE-2023-2780 9.8 MLflow: path traversal allows arbitrary file read/write
Same package: mlflow CVE-2026-2635 9.8 mlflow: security flaw enables exploitation
Same package: mlflow CVE-2023-1177 9.8 MLflow: path traversal allows arbitrary file read/write
Same package: mlflow
AI Threat Alert