Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach MLflow server HTTP port
-
DeliveryCreate registered model
-
ExploitCreate prompt-tagged version with schemeless path
-
ExecutionRequest file via get-artifact endpoint
-
ImpactRead 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 - |
| 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 ( |
| 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
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.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.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- 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
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.
Apply vendor patch.
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
Unauthenticated remote code execution in MLflow 3.12.0rc0 through 3.16.x lets any network caller reach the tracking serv
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
EUVD-2026-111362
GHSA-m65p-9j7q-6w33
NVD
CVE.org
EPSS
Exploit-DB