PYSEC-2026-2654

MLflow allows an unauthenticated remote attacker to read arbitrary files from the server's filesystem

At a glance

Published
Updated
CVE
CVE-2026-2614
Aliases
BIT-mlflow-2026-2614, GHSA-42h5-h8qh-vv9v
CVSS_V3
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Description

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.

Affected packages

PackageVersions
PyPI · mlflowintroduced 0, fixed 3.10.0

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — PyPA Advisory Database