Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed MLflow tracking server
-
ExploitSend trace ID with traversal sequences to /api/3.0/mlflow/traces
-
ExecutionFileStore.start_trace() writes attacker-controlled files
-
ImpactOverwrite 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
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.
Blast Radius
ecosystem impact- 694 pypi packages depend on mlflow (544 direct, 157 indirect)
Ecosystem-wide dependent count for version 3.17.2.
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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Server-side request forgery in MLflow before 3.15.0 lets remote unauthenticated attackers coerce the server into making
A path traversal vulnerability exists in mlflow/mlflow version 2.15.1. Rated high severity (CVSS 7.5), this vulnerabilit
Absolute Path Traversal in GitHub repository mlflow/mlflow prior to 2.5.0. Rated critical severity (CVSS 10.0), this vul
MLflow's FastAPI job endpoints bypass basic-auth entirely, allowing network attackers to submit and execute jobs without
A malicious user could use this issue to get command execution on the vulnerable machine and get access to data & models
A malicious user could use this issue to access internal HTTP(s) servers and in the worst case (ie: aws instance) it cou
An attacker is able to arbitrarily create an account in MLflow bypassing any authentication requirment. Rated critical s
An attacker can overwrite any file on the server hosting MLflow without any authentication. Rated critical severity (CVS
Path Traversal: '\..\filename' in GitHub repository mlflow/mlflow prior to 2.3.1. Rated critical severity (CVSS 9.8), th
Path Traversal: '\..\filename' in GitHub repository mlflow/mlflow prior to 2.2.1. Rated critical severity (CVSS 9.8), th
Insufficient sanitization in MLflow leads to XSS when running a recipe that uses an untrusted dataset. Rated critical se
Insufficient sanitization in MLflow leads to XSS when running an untrusted recipe. Rated critical severity (CVSS 9.6), t
EUVD-2026-104633
GHSA-wqmh-qccw-pqwf
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB