Skip to main content

Mlflow CVE-2026-0545

| EUVDEUVD-2026-18809 CRITICAL
Missing Authentication for Critical Function (CWE-306)
2026-04-03 @huntr_ai GHSA-7qhf-v65m-g5f3
9.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Discover MLflow server via port scan
  2. Delivery
    Send unauthenticated POST to /ajax-api/3.0/jobs/submit
  3. Exploit
    Submit crafted job payload targeting allowlisted function
  4. Execution
    Job executes with server privileges
  5. Impact
    Retrieve results or establish persistence

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

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

Exploitation Conditions

Job execution must be explicitly enabled via MLFLOW_SERVER_ENABLE_JOB_EXECUTION=true environment variable (non-default configuration). At least one job function must be present in the allowlist for job submission to succeed - without allowlisted functions, the authentication bypass exists but job execution fails. Network reachability to MLflow server's /ajax-api/3.0/jobs/* endpoints is required (AV:N). No authentication, user interaction, or elevated privileges needed (PR:N/UI:N). Maximum impact (RCE) requires allowlisted job functions that perform privileged actions such as shell execution, filesystem writes, or network requests. Even 'safe' job configurations remain vulnerable to authentication bypass, enabling job spam DoS and data exposure. Default MLflow installations without MLFLOW_SERVER_ENABLE_JOB_EXECUTION are NOT vulnerable. Limits exploitation: Feature must be explicitly enabled, reducing attack surface compared to vulnerabilities in default configurations.

Impact

CVSS 9.8 indicates maximum severity based on network attack vector, no authentication, and high confidentiality/integrity/availability impact. However, real-world risk is conditional: exploitation requires MLFLOW_SERVER_ENABLE_JOB_EXECUTION=true AND allowlisted job functions, which are non-default configurations. SSVC framework reports POC availability and automatable exploitation with partial technical impact. EPSS 0.20% (42nd percentile) suggests low observed exploitation activity despite POC existence, indicating defenders are either mitigating via configuration or attackers are not widely targeting MLflow deployments. No CISA KEV listing at time of analysis. Risk is HIGH for organizations running MLflow with job execution enabled and internet-facing deployments, MEDIUM for isolated internal deployments with job execution, LOW for default installations without job execution features. The authentication bypass alone (even without RCE) enables job spam DoS and data exposure, making this exploitable even in supposedly 'safe' job configurations. Priority depends on deployment model: internet-facing MLflow with job execution warrants immediate action; internal research deployments with network segmentation can schedule remediation during maintenance windows.

Exploit ScenarioDerived

A remote attacker identifies an internet-facing MLflow server (port 5000 default, discoverable via Shodan or banner grabbing) running with job execution enabled. Using the publicly available POC, the attacker sends unauthenticated HTTP POST requests to /ajax-api/3.0/jobs/submit with a crafted job payload invoking an allowlisted function that executes shell commands (e.g., model training scripts with os.system() calls). The attacker gains arbitrary code execution in the MLflow server context, potentially accessing ML models, training data, cloud credentials in environment variables, or pivoting to adjacent infrastructure. Even if allowlisted jobs are deemed non-privileged, the attacker can flood the job queue causing denial of service, or retrieve job results containing sensitive hyperparameters or dataset metadata.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Apr 21, 2026

MLflow's FastAPI job endpoints bypass basic-auth entirely, allowing network attackers to submit and execute jobs without credentials (CVSS 9.8, CWE-306). Affects mlflow/mlflow latest version when MLFLOW_SERVER_ENABLE_JOB_EXECUTION=true and job functions are allowlisted. Public POC exists per SSVC framework. EPSS score of 0.20% (42nd percentile) indicates low observed exploitation probability despite critical CVSS, suggesting targeted rather than widespread risk. Vendor-released patch not confirmed at time of analysis - remediation relies on configuration changes and service hardening.

Earlier versions of this analysis (1)
v1 Apr 03, 2026 - 17:30 CVSS 9.1

Remote code execution in MLflow's FastAPI job endpoints allows unauthenticated attackers to submit and execute arbitrary jobs when basic-auth is enabled. Network-accessible attackers (CVSS AV:N, PR:N) can bypass authentication entirely on /ajax-api/3.0/jobs/* endpoints when MLFLOW_SERVER_ENABLE_JOB_EXECUTION=true, executing privileged operations including shell commands and filesystem modifications through allowlisted job functions. This authentication bypass (CWE-306) also enables job spam, denial of service, and exposure of job execution results. No public exploit identified at time of analysis, though attack complexity is low (AC:L) requiring no user interaction.

RemediationAI

Primary mitigation (no vendor-released patch confirmed): Disable job execution by setting MLFLOW_SERVER_ENABLE_JOB_EXECUTION=false or removing the environment variable entirely - this eliminates the attack surface but disables job scheduling functionality. If job execution is required, implement network-level access controls: restrict /ajax-api/3.0/jobs/* endpoints to trusted internal networks via firewall rules or reverse proxy ACLs (e.g., nginx location blocks with IP allowlists). Deploy MLflow behind an authenticating reverse proxy (OAuth2, SAML) that enforces authentication before requests reach MLflow. Remove all job functions from allowlists unless absolutely required for operations, reducing RCE attack surface. Monitor job submission logs for unauthorized activity (source IPs, job payloads, execution timestamps). Trade-offs: Disabling job execution may break CI/CD pipelines relying on scheduled model training. Network restrictions may hinder legitimate remote access for data science teams. Workarounds provide defense-in-depth but do not fix the authentication enforcement gap. Consult Huntr disclosure (https://huntr.com/bounties/b2e5b028-9541-4d29-8703-a76f1a3734d8) for technical details and monitor MLflow GitHub repository for official patches.

Affected VersionsENISA

mlflow/mlflow unspecified ≤latest

Affected Packages

pypi mlflow no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package 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. The vulnerability resides in the FastAPI job execution endpoints (/ajax-api/3.0/jobs/*) which handle job submission, retrieval, search, and cancellation. When MLflow's basic-auth app is enabled, these endpoints fail to enforce authentication checks (CWE-306: Missing Authentication for Critical Function). The root cause is an authentication enforcement gap in the FastAPI routing layer - while basic-auth protects other MLflow endpoints, job-related routes are inadvertently exposed. The CVSS vector (AV:N/AC:L/PR:N/UI:N) confirms this is exploitable remotely without authentication or user interaction. CPE identifier cpe:2.3:a:mlflow:mlflow/mlflow indicates the core mlflow/mlflow package, affecting installations where job execution features are enabled via MLFLOW_SERVER_ENABLE_JOB_EXECUTION environment variable and at least one job function is allowlisted.

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

NVD PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Red Hat 8.1 HIGH

Primary rating from NVD.

CVSS VectorNVD

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

Lifecycle Timeline

3
Analysis Updated
Apr 21, 2026 - 01:57 vuln.today
v2 - CVSS changed
CVSS changed
Apr 21, 2026 - 01:52 NVD
9.1 (CRITICAL) 9.8 (CRITICAL)
CVE Published
Apr 03, 2026 - 17:03 nvd
CRITICAL 9.1

DescriptionNVD

In mlflow/mlflow, the FastAPI job endpoints under /ajax-api/3.0/jobs/* are not protected by authentication or authorization when the basic-auth app is enabled. This vulnerability affects the latest version of the repository. If job execution is enabled (MLFLOW_SERVER_ENABLE_JOB_EXECUTION=true) and any job function is allowlisted, any network client can submit, read, search, and cancel jobs without credentials, bypassing basic-auth entirely. This can lead to unauthenticated remote code execution if allowed jobs perform privileged actions such as shell execution or filesystem changes. Even if jobs are deemed safe, this still constitutes an authentication bypass, potentially resulting in job spam, denial of service (DoS), or data exposure in job results.

Executive ViewAI

Why It Matters

MLflow's FastAPI job execution endpoints contain a critical authentication bypass (CVE-2026-0545) that allows unauthenticated attackers to submit and execute arbitrary jobs on affected servers, potentially leading to complete system compromise. Organizations running MLflow with job execution enabled face immediate risk of unauthorized code execution and data exfiltration, though current exploitation probability remains low at 0.2% EPSS. Immediate configuration changes are required to disable or restrict job execution until a vendor patch becomes available.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Set MLFLOW_SERVER_ENABLE_JOB_EXECUTION=false to disable job execution entirely, (2) Implement network-level access controls restricting MLflow endpoints to internal networks only, (3) Deploy reverse proxy authentication (e.g., OAuth, mTLS) in front of MLflow server, (4) Remove all but essential functions from job allowlist, (5) Enable and monitor MLflow audit logging for job submission activity.

Threat Intelligence Overview

EPSS Score
0.2%
Top 58% exploitable
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High

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 Yes
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
CRITICAL severity + public POC available
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
Yes
Human Impact
Very High
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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-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

CVE-2024-27132 CRITICAL POC
9.6 Feb 23

Insufficient sanitization in MLflow leads to XSS when running an untrusted recipe. Rated critical severity (CVSS 9.6), t

Vendor StatusVendor

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