CVE-2024-37060: MLflow: RCE via deserialization in crafted Recipes
HIGH PoC AVAILABLEMLflow Recipes (v1.27.0+) deserialize untrusted data without validation, enabling arbitrary code execution when a data scientist runs a crafted recipe file. Any ML team sharing or consuming MLflow recipes — from public repos, teammates, or vendors — is exposed. Patch MLflow immediately and audit recipe sources; treat untrusted recipe files like executable code.
Risk Assessment
CVSS 8.8 with network vector and low complexity makes this high-severity in practice. The user-interaction requirement is a weak barrier in ML workflows where sharing recipe configs is routine and trust is implicit. MLflow's broad adoption across model training, experiment tracking, and CI/CD pipelines dramatically expands the blast radius. No privileges required means any external collaborator or compromised repository can be the delivery vector.
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 to the latest patched version per the HiddenLayer advisory (https://hiddenlayer.com/sai-security-advisory/mlflow-june2024).
-
AUDIT
Inventory all recipe files in use — treat them as untrusted code if sourced externally.
-
RESTRICT
Disable MLflow Recipes feature if not actively used via configuration controls.
-
ISOLATE
Run MLflow pipelines in sandboxed environments (containers with no credential access, network egress controls).
-
DETECT
Monitor for unexpected process spawning from MLflow processes; alert on outbound connections from pipeline runners.
-
SUPPLY CHAIN
Lock recipe sources to internal, version-controlled repositories with code review gates.
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-37060?
MLflow Recipes (v1.27.0+) deserialize untrusted data without validation, enabling arbitrary code execution when a data scientist runs a crafted recipe file. Any ML team sharing or consuming MLflow recipes — from public repos, teammates, or vendors — is exposed. Patch MLflow immediately and audit recipe sources; treat untrusted recipe files like executable code.
Is CVE-2024-37060 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2024-37060, increasing the risk of exploitation.
How to fix CVE-2024-37060?
1. PATCH: Upgrade MLflow to the latest patched version per the HiddenLayer advisory (https://hiddenlayer.com/sai-security-advisory/mlflow-june2024). 2. AUDIT: Inventory all recipe files in use — treat them as untrusted code if sourced externally. 3. RESTRICT: Disable MLflow Recipes feature if not actively used via configuration controls. 4. ISOLATE: Run MLflow pipelines in sandboxed environments (containers with no credential access, network egress controls). 5. DETECT: Monitor for unexpected process spawning from MLflow processes; alert on outbound connections from pipeline runners. 6. SUPPLY CHAIN: Lock recipe sources to internal, version-controlled repositories with code review gates.
What systems are affected by CVE-2024-37060?
This vulnerability affects the following AI/ML architecture patterns: training pipelines, mlops platforms, model development environments, CI/CD for ML, experiment tracking infrastructure.
What is the CVSS score for CVE-2024-37060?
CVE-2024-37060 has a CVSS v3.1 base score of 8.8 (HIGH). The EPSS exploitation probability is 0.38%.
Technical Details
NVD Description
Deserialization of untrusted data can occur in versions of the MLflow platform running version 1.27.0 or newer, enabling a maliciously crafted Recipe to execute arbitrary code on an end user’s system when run.
Exploitation Scenario
An adversary publishes a malicious MLflow recipe template to a public GitHub repository or compromises a popular template repo. The recipe YAML embeds a serialized Python object containing a reverse shell payload. A data scientist discovers the template, clones it, and executes `mlflow recipes run` as part of standard workflow. During recipe loading, MLflow deserializes the untrusted object, triggering execution of the embedded payload — establishing persistence, exfiltrating AWS/GCP credentials from environment variables, and potentially poisoning local model artifacts before the user notices anything unusual.
Weaknesses (CWE)
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H References
- hiddenlayer.com/sai-security-advisory/mlflow-june2024 Exploit 3rd Party
- github.com/thehalvo/homeostasis Exploit
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-2026-2635 9.8 mlflow: security flaw enables exploitation
Same package: mlflow CVE-2023-2780 9.8 MLflow: path traversal allows arbitrary file read/write
Same package: mlflow CVE-2023-1177 9.8 MLflow: path traversal allows arbitrary file read/write
Same package: mlflow
AI Threat Alert