---
id: CVE-2026-116690
title: >-
  MLflow: Arbitrary file read on unauthenticated MLflow servers via prompt model
  version source
summary: >-
  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 vali…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'
cvssSource: cna
cwe:
  - CWE-22
vendor: mlflow
product: mlflow
affected:
  - 'mlflow >= 3.10.0, < 3.17.0'
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-28T15:54:25.087287Z'
published: '2026-10-27'
updated: '2026-10-28'
sourceUpdated: '2026-10-28T16:13:38.096Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-116690'
references:
  - url: 'https://github.com/mlflow/mlflow/security/advisories/GHSA-m65p-9j7q-6w33'
    label: 'https://github.com/mlflow/mlflow/security/advisories/GHSA-m65p-9j7q-6w33'
  - url: 'https://github.com/mlflow/mlflow/pull/25870'
    label: 'https://github.com/mlflow/mlflow/pull/25870'
  - url: >-
      https://github.com/mlflow/mlflow/commit/81730a2ce4ebcd60d5d18f68c96f422ad7e30772
    label: >-
      https://github.com/mlflow/mlflow/commit/81730a2ce4ebcd60d5d18f68c96f422ad7e30772
  - url: 'https://github.com/mlflow/mlflow/releases/tag/v3.17.0'
    label: 'https://github.com/mlflow/mlflow/releases/tag/v3.17.0'
  - url: 'https://github.com/advisories/GHSA-m65p-9j7q-6w33'
tags:
  - cve.org
  - ghsa
  - pip
  - exploit-available
epss: 0.01801
epssPercentile: 0.78565
aliases:
  - GHSA-m65p-9j7q-6w33
ecosystem: pip
patched:
  - mlflow 3.17.0
ingestedAt: '2026-10-27T19:54:27.801Z'
exploits:
  nuclei:
    - CVE-2026-116690
  checkedAt: '2026-11-05T15:34:52.488Z'
exploitAvailable: true
---

## Overview

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.

## Affected

- `mlflow >= 3.10.0, < 3.17.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-116690)

Affected packages:

- `mlflow >= 3.10.0, < 3.17.0`

Patched in:

- `mlflow 3.17.0`

Source: https://github.com/advisories/GHSA-m65p-9j7q-6w33
