CVE-2026-69148 json
MLflow: CreateModelVersion source validation does not check READ permission on referenced run_id
published 2026-08-17 2 mo ago modified 2026-09-18 51 d ago also BIT-mlflow-2026-69148 , EUVD-2026-60474 , GHSA-gqch-g4w5-7qcw
- cvss
- 7.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 30%
- public exploits
- 0
- none known
Summary
MLflow is an open source AI engineering platform for agents, large language models, and machine learning models. Prior to 3.15.0, CreateModelVersion accepts a run_id or model_id after _validate_source_run() or _validate_source_model() in mlflow/server/handlers.py verifies only path containment, allowing authenticated users to create a model version that references another user's artifact directory and read files through GET /model-versions/get-artifact without the required READ permission. This issue is fixed in version 3.15.0.
Patch / fix
- npm mlflow 3.15.0
- bitnami mlflow 3.15.0
- lfprojects mlflow 3.15.0
- github.com/mlflow/mlflow@4bb7474 commit
- github.com/mlflow/mlflow#24293 pull request
- github.com/mlflow/mlflow/releases/tag/v3.15.0 release
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-69148 updated cvss 7.1
mlflow: MLflow: Information disclosure via insufficient validation in CreateModelVersion
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-mlflow-rhel9affected: workaround, no fix available
-
Red Hat OpenShift AI 3.4 rhoai/odh-th06-cpu-torch210-py312-rhel9 1791874335, rhoai/odh-th06-rocm64-torch291-py312-rhel9 1791872119, rhoai/odh-th06-cuda130-torch210-py312-rhel9 1791961113, rhoai/odh-training-cuda128-torch29-py312-rhel9 1791786619, rhoai/odh-pipeline-runtime-pytorch-cuda-py312-rhel9 1791829182, rhoai/odh-pipeline-runtime-pytorch-rocm-py312-rhel9 1791868244, +12 morefixed: vendor fix RHSA-2026:84734
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-th-torch-cpu-py312-rhel9, rhoai/odh-th-torch-cuda-py312-rhel9, rhoai/odh-th-torch-rocm-py312-rhel9not affected: vulnerable code not in execute path
-
Red Hat OpenShift AI 3.4 rhoai/odh-cli-rhel9 1791509689, rhoai/rhai-cli-rhel9 1791509689, rhoai/odh-automl-rhel9 1791535789, rhoai/odh-mlflow-rhel9 1791865967, rhoai/odh-autorag-rhel9 1791557539, rhoai/odh-trainer-rhel9 1791869783, +82 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.37% chance of exploitation in the next 30 days, higher than 30% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/mlflow/mlflow/security/advisories/GHSA-gqch-g4w5-7qcw referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N |
| GitHub | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N |
| OSV | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | mlflow | <3.15.0 |
3.15.0 |
| bitnami | mlflow | <3.15.0 |
3.15.0 |
Affected products
- mlflow mlflow
Classification
- Weakness
-
- CWE-862 Missing Authorization
References
-
github.com
/mlflow/mlflow/pull/24293
web
-
github.com
/mlflow/mlflow/commit/4bb7474771c3be808cd9e129defef9305f2869be
web
-
github.com
/mlflow/mlflow/security/advisories/GHSA-gqch-g4w5-7qcw
exploit, web
-
github.com
/mlflow/mlflow/releases/tag/v3.15.0
web
-
github.com
/mlflow/mlflow
package
-
nvd.nist.gov
/vuln/detail/CVE-2026-69148
web
Sources
- CVE List CVE-2026-69148
- GitHub Advisory GHSA-gqch-g4w5-7qcw
- NVD CVE-2026-69148
- OSV BIT-mlflow-2026-69148
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.