Skip to main content

MLflow CVE-2026-53995

| EUVDEUVD-2026-104633 HIGH
Path Traversal (CWE-22)
2026-10-19 VulnCheck GHSA-wqmh-qccw-pqwf
8.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Reach exposed MLflow tracking server
  2. Exploit
    Send trace ID with traversal sequences to /api/3.0/mlflow/traces
  3. Execution
    FileStore.start_trace() writes attacker-controlled files
  4. Impact
    Overwrite files outside experiment trace directory

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

Exploitation requires the MLflow tracking server to use the FileStore tracking backend AND be network-reachable on the POST /api/3.0/mlflow/traces endpoint. FileStore is the DEFAULT backend in MLflow versions before 3.7.0, so those deployments are exploitable without any special configuration; from 3.7.0 onward the default changed to a SQLite database, so later versions in the affected range (up to 3.17.1) are vulnerable ONLY when an operator has explicitly selected FileStore. No authentication is required (CVSS PR:N) and no user interaction is needed. The concrete limiting factors are: (1) the write occurs 'subject to the server process's filesystem permissions,' so impact scope is bounded by what the MLflow process user can write; (2) later-version deployments must have opted into FileStore; and (3) the server must be reachable from the attacker's network position.

Impact

Multiple signals converge on this being a genuine priority rather than a CVSS-inflated issue. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a network-reachable, low-complexity, unauthenticated write with no user interaction, and the vendor-sourced base score is 8.8 with impact concentrated on integrity (VI:H) plus limited availability (VA:L) and no confidentiality impact (VC:N) - consistent with a write-only path traversal rather than data theft. Publicly available exploit code exists (GitHub PoC plus a VulnCheck advisory), which raises practical risk, but this is NOT the same as active exploitation: the input provides no CISA KEV listing and no EPSS score, so the real-world exploitation volume cannot be quantified from the data given. The absence of EPSS and SSVC decision data is a genuine gap - exploitation-probability and automatability cannot be asserted. The most important nuance is configuration-dependence: FileStore is the DEFAULT backend before MLflow 3.7.0 (vulnerable out of the box) but opt-in afterward (default moved to SQLite), so the true exposure of any given deployment depends on version and backend selection, not on the raw score alone. Net: treat exposed MLflow tracking servers on the FileStore backend as a high priority given the public PoC and unauthenticated network write; deployments on the later default (SQLite) are not affected unless FileStore was explicitly chosen.

Exploit ScenarioDerived

An attacker who can reach an internet- or network-exposed MLflow tracking server sends a crafted request to the unauthenticated POST /api/3.0/mlflow/traces endpoint with a trace ID containing path traversal sequences (e.g. ../../). FileStore.start_trace() then writes trace_info.yaml, request_metadata, and tag files with attacker-controlled content to arbitrary locations outside the experiment trace directory, limited only by the server process's filesystem permissions, potentially overwriting configuration or other sensitive files. A public proof-of-concept exploit is available on GitHub, lowering the barrier to exploitation.

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 19, 2026

Path traversal in MLflow’s FileStore tracking backend allows unauthenticated remote attackers to write attacker-controlled trace metadata outside the intended experiment traces directory by submitting a crafted trace ID to the POST /api/3.0/mlflow/traces endpoint. MLflow 3.17.1 and earlier are affected; FileStore is the default backend before 3.7.0 and opt-in from 3.7.0 onward, so exposure depends on backend selection and network reachability. Publicly available exploit code exists, but no CISA KEV confirmation is present in the provided data; assessed impact is high integrity and low availability with no confidentiality impact.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed: apply the changes in https://github.com/mlflow/mlflow/pull/26842 and upgrade to the first MLflow release that contains them once the vendor confirms the fixed version. If immediate upgrade is not possible, migrate the tracking backend off FileStore to a SQLite/database backend (this may require data migration and client configuration changes), or restrict network access to the MLflow tracking server and especially POST /api/3.0/mlflow/traces so only trusted clients can reach it (this can break remote experiment tracking). Run the MLflow server under a low-privilege operating-system account whose write access is limited to the intended MLflow directories to cap the scope of any traversal write (side effects may include artifact or model-registry write failures if permissions are too tight). As a defense-in-depth filter, reject trace_id values containing path separators or '..' at a reverse proxy or WAF before they reach MLflow (possible false positives if non-standard trace IDs are used); public exploit code is referenced at https://github.com/SaiTeja-Erukude/CVE-2026-53995-mlflow-path-traversal.

Affected VersionsENISA

MLflow 0 ≤3.17.1

Affected Packages

pypi mlflow fix: 3.17.2

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

The issue is CWE-22 path traversal in MLflow’s FileStore tracking backend. FileStore constructs trace storage paths by joining an experiment directory with attacker-supplied trace_id values using os.path.join without sufficient canonicalization or containment checks; a crafted trace ID containing traversal sequences can therefore escape the intended traces directory. The vulnerable operations include FileStore.start_trace() and related trace read/delete paths that write trace_info.yaml, request_metadata, and tag files with attacker-influenced metadata, subject to the MLflow process’s filesystem permissions. The provided CPE cpe:2.3:a:mlflow:mlflow:*:*:*:*:*:*:*:* identifies MLflow as the affected product, with the stated affected range of 3.17.1 and earlier. The upstream PR diff adds validate_path_within_directory and _validate_file_store_trace_id checks around trace directory, trace ID, trace metadata, tag, and assessment paths. Because the assessed vector has PR:N and UI:N, this is a remote unauthenticated issue; the assessed impact is integrity high and availability low, with no confidentiality impact.

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 (VulnCheck) PRIMARY 8.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
vuln.today AI 8.2 HIGH

Unauthenticated network write via a trivially crafted trace ID gives AV:N/AC:L/PR:N/UI:N; arbitrary file write is I:H, possible overwrite is A:L, and there is no read/disclosure so C:N.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

MLflow 3.17.1 and earlier contains a path traversal vulnerability in the FileStore tracking backend that allows unauthenticated attackers to control filesystem paths by submitting a crafted trace ID containing traversal sequences to the POST /api/3.0/mlflow/traces endpoint. Attackers can exploit FileStore.start_trace() to write trace_info.yaml, request_metadata, and tag files with attacker-controlled metadata outside the intended experiment trace directory, subject to the server process's filesystem permissions. FileStore is the default tracking backend before MLflow 3.7.0 and opt-in thereafter (the default changed to a SQLite database), so deployments in the earlier part of the affected range are vulnerable without special configuration while later ones are affected only when FileStore is explicitly selected.

Technical POC Analysis

Path traversal (CWE-22; the source also maps CWE-23 and CWE-73) in MLflow's FileStore tracking backend.

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 3.17.1 and earlier deployments using the FileStore tracking backend are exposed to a path traversal that allows an attacker to write trace metadata outside the intended experiment traces directory, degrading integrity of ML experiment records with limited availability impact. Leadership should care because affected MLflow instances may underpin model development and audit records, and publicly available exploit code exists though no CISA KEV confirmation is present.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include migrating off FileStore to a database-backed backend, restricting network reachability of the MLflow tracking server and POST /api/3.0/mlflow/traces, enforcing authentication and input validation at a reverse proxy or WAF, running MLflow with least-privilege filesystem permissions and read-only mounts for metadata directories, and monitoring for path traversal patterns in trace IDs.

Threat Intelligence Overview

EPSS Score
0.6%
Top 54% exploitable
Prevalence
High
leading ML experiment-tracking platform, widely deployed in enterprise ML/MLOps pipelines
Threat Intel
1
1 sources
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 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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

65
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
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-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

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

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