CVE-2026-2614: Arbitrary File Read via Prompt Tag Source Validation Bypass in mlflow/mlflow
A vulnerability in the `_create_model_version()` handler of `mlflow/server/handlers.py` in mlflow/mlflow versions 3.9.0 and earlier allows an unauthenticated remote attacker to read arbitrary files from the server's filesystem. The issue arises when a `CreateModelVersion` request includes the tag `mlflow.prompt.is_prompt`, which bypasses source path validation. This enables an attacker to store an arbitrary local filesystem path as the model version source. The `get_model_version_artifact_handler()` function later uses this source to serve files without verifying the model version's prompt status, leading to a complete confidentiality compromise. This issue is fixed in version 3.10.0.
Security readout for executives and security teams
Plain-English summary
MLflow 3.9.0 and earlier can expose sensitive files from the server hosting it. A remote attacker needs no account or user interaction. Successful abuse affects confidentiality rather than modifying data or disrupting service, but exposed files could include configuration, credentials, or proprietary information.
Executive priority
Treat externally reachable or broadly accessible MLflow servers as urgent because exploitation needs no credentials and may disclose sensitive server files. Upgrade to 3.10.0 or later promptly. Accelerate remediation for internal instances as well, particularly where MLflow can read credentials, configuration, intellectual property, or regulated data.
Technical view
A crafted CreateModelVersion request containing the mlflow.prompt.is_prompt tag bypasses source-path validation in _create_model_version(). MLflow can consequently retain a local filesystem path as the model source, which get_model_version_artifact_handler() later serves without confirming prompt status. CVSS 3.0 is 7.5, reflecting network access, low complexity, no privileges, and high confidentiality impact.
Likely exposure
Deployments running MLflow 3.9.0 or earlier are affected, with greatest risk where the MLflow service is reachable from untrusted networks. Exposure depends on network accessibility and which server files the MLflow process can read. The supplied evidence does not identify affected deployment counts or specific configurations that eliminate the flaw.
Exploitation context
The source bundle marks this CVE as absent from KEV, and no supplied source confirms active exploitation. Nevertheless, exploitation is described as remote, unauthenticated, low complexity, and requiring no user interaction. Public vulnerability details and the corrective commit are available, increasing the importance of timely remediation.
Researcher notes
The reported weakness is CWE-22 and involves inconsistent validation across two handlers: model-version creation accepts an attacker-controlled local source under the prompt tag, while artifact retrieval trusts that stored source without rechecking prompt status. The supplied sources identify 3.10.0 as fixed but provide no evidence of exploitation in the wild.
Mitigation direction
Upgrade every affected MLflow deployment to version 3.10.0 or later.
Until upgraded, restrict MLflow network access to trusted users and follow current vendor guidance.
Review Red Hat advisories for packaged MLflow components and apply applicable updates.
If suspicious access is confirmed, assess and rotate secrets stored in readable server files.
Validation and detection
Inventory MLflow versions and identify every deployment running version 3.9.0 or earlier.
Determine whether affected services are reachable from untrusted networks without authentication.
Review model-version records and request logs for unexpected prompt tags or local filesystem source paths.
After upgrading, verify version 3.10.0 or later and test normal registry and artifact operations.
Investigate potential access to sensitive files if suspicious records or requests are discovered.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-22: File access and web shell behavior lookup
File traversal and upload weaknesses can lead teams to review file, web shell, execution, and collection telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references file access or upload behavior, so file telemetry and web shell review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-22 · source CWE mapping
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.