Arbitrary File Read via Prompt Tag Source Validation Bypass in mlflow/mlflow
At a glance
Severity
HIGH 7.5
EPSS
EPSS 3.69 % · percentile 90 (2026-10-28)
State
PUBLISHED
Published
Updated
Assigner
@huntr_ai
NVD status
Modified
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.