CVE-2026-2614
CVE-2026-2614 · Arbitrary File Read via Prompt Tag Source Validation Bypass in mlflow/mlflow
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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.
CVSS 7.5 · High · EPSS 3.2% · Public exploit · Fix available
- Published
- Updated
Stack: python
Affected products and versions
mlflow/mlflow
- Versions
- ≥ unspecified, < 3.10.0: Affected (custom)
Update to 3.10.0
mlflow PyPI
- Versions
- 0.0.1
- 0.1.0
- 0.2.0
- 0.2.1
- 0.3.0
- 0.4.0
- 0.4.1
- 0.4.2
- 0.5.0
- 0.5.1
- 0.5.2
- 0.6.0
- 0.7.0
- 0.8.0
- 0.8.1
- 0.8.2
- 0.9.0
- 0.9.0.1
- 0.9.1
- 1.0.0
- 1.1.0
- 1.1.1.dev0
- 1.10.0
- 1.11.0
- 1.12.0
- 1.12.1
- 1.13
- 1.13.1
- 1.14.0
- 1.14.1
- 1.15.0
- 1.16.0
- 1.17.0
- 1.18.0
- 1.19.0
- 1.2.0
- 1.20.0
- 1.20.1
- 1.20.2
- 1.21.0
- 1.22.0
- 1.23.0
- 1.23.1
- 1.24.0
- 1.25.0
- 1.25.1
- 1.26.0
- 1.26.1
- 1.27.0
- 1.28.0
- 1.29.0
- 1.3.0
- 1.30.0
- 1.30.1
- 1.4.0
- 1.5.0
- 1.6.0
- 1.7.0
- 1.7.1
- 1.7.2
- 1.8.0
- 1.9.0
- 1.9.1
- 2.0.0
- 2.0.0rc0
- 2.0.1
- 2.1.0
- 2.1.1
- 2.10.0
- 2.10.1
- 2.10.2
- 2.11.0
- 2.11.1
- 2.11.2
- 2.11.3
- 2.11.4
- 2.12.0
- 2.12.1
- 2.12.2
- 2.13.0
- 2.13.1
- 2.13.2
- 2.14.0
- 2.14.0rc0
- 2.14.1
- 2.14.2
- 2.14.2.dev0
- 2.14.3
- 2.15.0
- 2.15.0rc0
- 2.15.1
- 2.16.0
- 2.16.1
- 2.16.2
- 2.17.0
- 2.17.0rc0
- 2.17.1
- 2.17.2
- 2.18.0
- 2.18.0rc0
- 2.19.0
- 2.19.0rc0
- 2.2.0
- 2.2.1
- 2.2.2
- 2.20.0
- 2.20.0rc0
- 2.20.1
- 2.20.2
- 2.20.3
- 2.20.4
- 2.21.0
- 2.21.0rc0
- 2.21.1
- 2.21.2
- 2.21.3
- 2.22.0
- 2.22.0rc0
- 2.22.1
- 2.22.2
- 2.22.3
- 2.22.4
- 2.22.5
- 2.3.0
- 2.3.1
- 2.3.2
- 2.4.0
- 2.4.1
- 2.4.2
- 2.5.0
- 2.6.0
- 2.7.0
- 2.7.1
- 2.8.0
- 2.8.1
- 2.9.0
- 2.9.1
- 2.9.2
- 3.0.0
- 3.0.0rc0
- 3.0.0rc1
- 3.0.0rc2
- 3.0.0rc3
- 3.0.1
- 3.1.0
- 3.1.0rc0
- 3.1.1
- 3.1.2
- 3.1.3
- 3.1.4
- 3.10.0rc0
- 3.2.0
- 3.2.0rc0
- 3.3.0
- 3.3.0rc0
- 3.3.1
- 3.3.2
- 3.4.0
- 3.4.0rc0
- 3.5.0
- 3.5.0rc0
- 3.5.1
- 3.6.0
- 3.6.0rc0
- 3.7.0
- 3.7.0rc0
- 3.8.0
- 3.8.0rc0
- 3.8.1
- 3.9.0
- 3.9.0rc0
- Affected ranges
- ECOSYSTEM: < 3.10.0
Update to 3.10.0
Original sources
- https://huntr.com/bounties/19380271-3fbf-4beb-987e-6fd7069c55e6
- https://github.com/mlflow/mlflow/commit/6e801f4259d96804c73107315b24cef0f6aa115a
- https://access.redhat.com/security/cve/CVE-2026-2614
- https://bugzilla.redhat.com/show_bug.cgi?id=2469309
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-2614.json
- https://access.redhat.com/errata/RHSA-2026:37275
- https://access.redhat.com/errata/RHSA-2026:60520
- https://access.redhat.com/errata/RHSA-2026:34456
- https://nvd.nist.gov/vuln/detail/CVE-2026-2614