Skip to main content

MLflow CVE-2026-3198

| EUVDEUVD-2026-33880 MEDIUM
Improper Access Control (CWE-284)
2026-06-02 @huntr_ai GHSA-r5m9-wm49-959f
6.5
CVSS 3.0 · Vendor: huntr_ai
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege MLflow credentials
  2. Delivery
    Authenticate to MLflow basic-auth instance
  3. Exploit
    Send HTTP GET to unprotected Gateway list endpoints
  4. Execution
    Bypass missing authorization handler
  5. Persist
    Enumerate all gateway secrets, endpoints, and model definitions
  6. Impact
    Exfiltrate stored API keys and proprietary configurations

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

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

Exploitation Conditions

MLflow must be deployed with the basic-auth plugin explicitly enabled via the --app-name basic-auth launch flag - the vulnerability does not exist in default MLflow deployments without this flag. The attacker must hold a valid MLflow credential (any permission tier); CVSS PR:L confirms low-privilege authentication is sufficient, and unauthenticated access does not trigger the bypass. The Gateway API feature must be in use and must contain configured secrets, endpoints, or model definitions - an empty gateway exposes no sensitive data even if the authorization gap exists. Exploitation is limited to confidentiality: no write, delete, or code execution primitives are exposed by these list endpoints. The vulnerability does not affect non-Gateway MLflow API routes, as those handlers are correctly registered in BEFORE_REQUEST_HANDLERS.

Impact

The CVSS 6.5 score (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) accurately reflects the threat model: network-reachable, trivially exploitable by any authenticated user, with high confidentiality impact and no integrity or availability effect. The PR:L vector confirms that a valid (even low-privilege) account is required - unauthenticated exploitation is not possible per available CVSS data. Attack complexity is low (AC:L), meaning no race conditions, special timing, or environmental prerequisites beyond authentication. No EPSS score was provided in the input data, and the vulnerability is not in CISA KEV, indicating no confirmed active exploitation at time of analysis. No public proof-of-concept code has been identified. Despite the absence of active exploitation signals, the high confidentiality impact is operationally significant: exposed gateway secrets likely include third-party AI provider API keys (e.g., OpenAI, Anthropic), which carry financial and data-access risk well beyond the MLflow deployment itself. Organizations running MLflow with multiple user tiers (admin vs. read-only) are most exposed, as the vulnerability nullifies the access segregation they may have implemented.

Exploit ScenarioDerived

An attacker with a low-privilege MLflow account - such as a data scientist or analyst in a shared MLflow deployment - authenticates normally, then sends standard HTTP GET requests to the ListGatewaySecretInfos, ListGatewayEndpoints, and ListGatewayModelDefinitions Gateway API endpoints. Because these routes are absent from the authorization handler registry, MLflow returns the full response without checking whether the user's assigned permissions allow access, exposing all stored API keys (e.g., provider credentials for OpenAI or Anthropic), endpoint routing configurations, and proprietary model definitions to the attacker. No special tooling is required beyond a standard HTTP client; no public proof-of-concept has been identified, but the attack is straightforward to replicate from the description alone.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jun 02, 2026

Missing authorization enforcement in MLflow 3.9.0 allows any low-privileged authenticated user to enumerate all gateway secrets, endpoints, and model definitions via three unprotected Gateway API list endpoints. The root cause is an omission in the BEFORE_REQUEST_HANDLERS dictionary within mlflow/server/auth/__init__.py, which gates authorization for request handlers - three Gateway API list operations (ListGatewaySecretInfos, ListGatewayEndpoints, ListGatewayModelDefinitions) are absent from this registry, bypassing access control entirely when basic-auth is active. No public exploit has been identified at time of analysis, and the vulnerability is not listed in CISA KEV, but the low attack complexity and high confidentiality impact warrant prompt remediation in any deployment with multi-tenant or least-privilege access expectations.

RemediationAI

No vendor-released patched version has been independently confirmed from the available data - the fix version is not specified in the NVD CPE, the huntr advisory, or any referenced vendor changelog. The structural fix requires adding entries for ListGatewaySecretInfos, ListGatewayEndpoints, and ListGatewayModelDefinitions to the BEFORE_REQUEST_HANDLERS dictionary in mlflow/server/auth/__init__.py, which MLflow maintainers should be implementing as part of the disclosed bounty remediation. Until a patched release is confirmed, operators should apply these compensating controls: (1) Restrict network access to the MLflow server to only trusted users or internal networks - placing it behind a VPN or firewall reduces exposure since AV:N requires reachability; (2) Disable or avoid use of the Gateway API feature if not operationally required, eliminating the exposed endpoints entirely; (3) Rotate any API keys or secrets currently stored in MLflow Gateway, as they should be treated as potentially compromised if untrusted authenticated users exist. Track the huntr advisory at https://huntr.com/bounties/e57db731-97d3-40c3-a429-831ee959807f and the MLflow GitHub repository for a confirmed patch release.

Affected VersionsENISA

mlflow/mlflow unspecified ≤latest

Affected Packages

pypi mlflow fix: 3.11.0rc0

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 ML lifecycle platform; version 3.9.0 introduced Gateway API functionality for managing AI model endpoints and associated secrets. When deployed with the --app-name basic-auth flag, MLflow uses a request-interception pattern via a BEFORE_REQUEST_HANDLERS Python dictionary to enforce per-endpoint authorization. The affected code lives in mlflow/server/auth/__init__.py. CWE-284 (Improper Access Control) applies: the authorization mechanism exists and functions correctly for other routes, but three Gateway list handlers - ListGatewaySecretInfos, ListGatewayEndpoints, and ListGatewayModelDefinitions - were never registered in that dictionary, causing the auth middleware to skip enforcement silently. The CPE cpe:2.3:a:mlflow:mlflow/mlflow:*:*:*:*:*:*:*:* covers the MLflow Python package on PyPI; the wildcard version field indicates affected version scope has not been formally bounded beyond the 3.9.0 disclosure.

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

Vendor (huntr_ai) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Red Hat 6.5 MEDIUM

Primary rating from Vendor (huntr_ai).

CVSS VectorVendor: huntr_ai

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

DescriptionCVE.org

MLflow 3.9.0 with basic-auth (--app-name basic-auth) fails to enforce authorization checks for multiple Gateway API 'list' endpoints. Specifically, the BEFORE_REQUEST_HANDLERS dictionary in mlflow/server/auth/__init__.py does not include entries for ListGatewaySecretInfos, ListGatewayEndpoints, and ListGatewayModelDefinitions. This allows any authenticated user, regardless of their assigned permissions, to enumerate all gateway secrets, endpoints, and model definitions. This vulnerability exposes sensitive information, such as API keys, endpoint configurations, and proprietary model definitions, to unauthorized users.

Threat Intelligence Overview

EPSS Score
0.0%
Top 93% exploitable
Social Media
1
Sightings
Data Quality
6 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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
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.

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