Skip to main content

MLflow EUVDEUVD-2026-111362

| CVE-2026-116690 HIGH
Path Traversal (CWE-22)
2026-10-27 GitHub_M GHSA-m65p-9j7q-6w33
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach MLflow server HTTP port
  2. Delivery
    Create registered model
  3. Exploit
    Create prompt-tagged version with schemeless path
  4. Execution
    Request file via get-artifact endpoint
  5. Impact
    Read arbitrary server-local files

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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

Exploitation Conditions

The MLflow tracking server must be network-reachable with model registry endpoints enabled, and affected by version (3.10.0 through 3.16.1). On the default configuration - mlflow server runs without authentication - no credentials are required: the attacker creates a registered model, then a model version carrying the mlflow.prompt.is_prompt tag with a schemeless relative source (e.g. '../../../tmp', '.', a percent-encoded path, or a Windows drive-letter path), which routes through the flawed prompt branch and is stored unvalidated; files are then read via /api/2.0/mlflow/model-versions/get-artifact. On --app-name basic-auth deployments the flaw is still exploitable, but limited to authenticated users whose RBAC allows creating registered models (default low-privilege accounts qualify). Further limits: file read is confined to paths readable by the MLflow server process, and servers on 3.17.0+ reject all schemeless prompt sources except MLflow's own placeholders.

Impact

This is a genuine priority, not an inflated high-CVSS issue. The supplied CVSS vector (AV:N/AC:L/PR:N/UI:N) describes a network-reachable, low-complexity flaw needing no privileges or user interaction, and the GHSA advisory confirms the dangerous premise behind PR:N: MLflow tracking servers run without authentication by default (mlflow server), so a remote caller truly needs no credentials. Impact is scoped to confidentiality only (C:H/I:N/A:N) - arbitrary local file read as the server process - which the advisory corroborates with concrete targets (/etc/passwd, tracking/auth SQLite databases including admin password hashes, .bash_history). Signals are mostly aligned rather than conflicting: the vuln.today Decision label is 'this_week' and a patch is available, while no CISA KEV listing and no verified working exploit temper the urgency. The one nuance to flag: a public PoC reference exists (a gist) but is not verified as working exploit code, and no EPSS score was provided in the input, so widespread-exploitation probability cannot be quantified from the data given. The confidentiality chain is also potentially severe beyond simple file read - leaking the basic-auth database enables offline cracking of the admin hash and thus broader compromise.

Exploit ScenarioDerived

A remote attacker reaches an internet- or network-exposed MLflow tracking server (unauthenticated by default) and creates a registered model, then a prompt-tagged model version whose source is a schemeless relative path like '../../../tmp'. They then call /api/2.0/mlflow/model-versions/get-artifact with a chosen filename to read arbitrary files readable by the server process, such as /etc/passwd or the auth database. A public PoC reference exists but is not verified as working exploit code; given AV:N and AC:L the attack requires only HTTP access and no special timing.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 PoC candidate (unverified) Patch available 0.6% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 28, 2026

Arbitrary file read in MLflow 3.10.0 through 3.16.1 allows remote attackers to store a server-local path as a prompt model version's artifact location and then retrieve files through the /api/2.0/mlflow/model-versions/get-artifact endpoint. Default mlflow server deployments are unauthenticated (CVSS PR:N), while basic-auth deployments are exposed to any authenticated user whose RBAC permits creating registered models. A public PoC reference exists but is not verified as working exploit code, and the vendor fix is available in 3.17.0; assessed priority is this_week.

RemediationAI

Upgrade to MLflow 3.17.0 (release tag v3.17.0), which contains the fix from PR #25870 and commit 81730a2ce4ebcd60d5d18f68c96f422ad7e30772; this restricts prompt sources to MLflow's internal placeholders and requires mlflow.prompt.is_prompt to be true. If upgrading cannot be done immediately, restrict network access to the tracking server so only trusted clients can reach it, and on basic-auth deployments review and restrict which accounts can create registered models, because authentication alone does not block the primitive for users with model-creation rights. Vendor advisory: https://github.com/mlflow/mlflow/security/advisories/GHSA-m65p-9j7q-6w33.

Affected VersionsENISA

MLflow 3.10.0, < 3.17.0

Affected Packages

pypi mlflow fix: 3.17.0

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's model registry stores model versions with an artifact source, and a schemeless source is treated as a local path that selects LocalArtifactRepository, which the get-artifact handler later serves using the MLflow server process's file permissions. CVE-2026-116690 is CWE-22 path traversal: the prompt-specific branch added in 3.10.0 rejected file:// URIs and absolute paths but ran _validate_non_local_source_contains_relative_paths only when the source carried a URL scheme, so schemeless relative values such as ../../../tmp, a plain relative name, '.', percent-encoded paths, or Windows drive-letter paths were stored unchanged. The branch also keyed on the presence of the mlflow.prompt.is_prompt tag rather than a true value. The 3.17.0 fix adds _validate_prompt_source, uses get_uri_scheme so Windows drive letters classify as local, accepts only MLflow's own placeholder sources ('dummy-source' and 'prompt-template'), and requires the prompt tag value to be true.

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 (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.5 HIGH

Default mlflow servers are unauthenticated so PR:N; network HTTP API with no timing/interaction gives AV:N/AC:L/UI:N; impact is arbitrary file read only, so C:H and I:N/A:N.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 27, 2026 - 20:03 EUVD
CVE Published
Oct 27, 2026 - 19:42 cve.org
HIGH 7.5

DescriptionCVE.org

MLflow is an open source AI engineering platform for agents, large language models, and machine learning models. From 3.10.0 until 3.17.0, the prompt branch in _create_model_version() accepts schemeless relative sources because path validation runs only when a source has a URL scheme, and mlflow.prompt.is_prompt is interpreted by tag presence rather than a true value. A remote caller can store a server-local path as the model version artifact location and use /api/2.0/mlflow/model-versions/get-artifact to read files accessible to the MLflow server process. Default unauthenticated servers require no privileges, while basic-auth deployments are exposed to authenticated users who can create registered models. This issue is fixed in version 3.17.0.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 2 pypi packages depend on mlflow (2 direct, 0 indirect)

Ecosystem-wide dependent count for version 3.10.0.

Technical POC Analysis

CWE-22 path traversal.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 PoC candidate from github (unverified)

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

MLflow versions 3.10.0 through 3.16.1 contain a high-severity flaw enabling unauthorized file reads from the server's filesystem. Because default MLflow deployments lack authentication, any network-accessible instance is at risk, potentially exposing sensitive model artifacts, credentials, or configuration data. Leadership should prioritize remediation given the product's role in AI/ML pipelines and the potential for data leakage.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 54% exploitable
Prevalence
Medium
popular open-source ML platform, common in data/ML stacks but not everywhere
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

59
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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

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