Authorization Bypass in SearchModelVersions in mlflow/mlflow
In mlflow/mlflow versions up to 3.9.0, the `SearchModelVersions` REST API endpoint and the `mlflowSearchModelVersions` GraphQL query lack proper per-model authorization checks when basic authentication is enabled. This allows any authenticated user to enumerate all model versions across all registered models, regardless of their permission level. The issue arises due to the absence of `SearchModelVersions` in the `BEFORE_REQUEST_VALIDATORS` and `AFTER_REQUEST_HANDLERS` for the REST API, and its omission from `GraphQLAuthorizationMiddleware.PROTECTED_FIELDS` for GraphQL. This vulnerability can expose sensitive information such as model names, version descriptions, source URIs, tags, and other metadata, potentially revealing proprietary or confidential details in multi-tenant environments. The issue is resolved in version 3.10.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-2734
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 17:47 UTC · Revision 1
Source evidence
Authorization Bypass in SearchModelVersions in mlflow/mlflow
core-osv · Original sourcePublished 21 May 2026, 03:49 UTC
In mlflow/mlflow versions up to 3.9.0, the `SearchModelVersions` REST API endpoint and the `mlflowSearchModelVersions` GraphQL query lack proper per-model authorization checks when basic authentication is enabled. This allows any authenticated user to enumerate all model versions across all registered models, regardless of their permission level. The issue arises due to the absence of `SearchModelVersions` in the `BEFORE_REQUEST_VALIDATORS` and `AFTER_REQUEST_HANDLERS` for the REST API, and its omission from `GraphQLAuthorizationMiddleware.PROTECTED_FIELDS` for GraphQL. This vulnerability can expose sensitive information such as model names, version descriptions, source URIs, tags, and other metadata, potentially revealing proprietary or confidential details in multi-tenant environments. The issue is resolved in version 3.10.0.
osv:CVE-2026-2734
Complete source record
{
"id": "b51579af3bff5c937bcdfeb132e42dbf7f3ea06db8e85d1db82e735eb3209a21",
"url": "https://osv.dev/vulnerability/CVE-2026-2734",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Authorization Bypass in SearchModelVersions in mlflow/mlflow",
"summary": "In mlflow/mlflow versions up to 3.9.0, the `SearchModelVersions` REST API endpoint and the `mlflowSearchModelVersions` GraphQL query lack proper per-model authorization checks when basic authentication is enabled. This allows any authenticated user to enumerate all model versions across all registered models, regardless of their permission level. The issue arises due to the absence of `SearchModelVersions` in the `BEFORE_REQUEST_VALIDATORS` and `AFTER_REQUEST_HANDLERS` for the REST API, and its omission from `GraphQLAuthorizationMiddleware.PROTECTED_FIELDS` for GraphQL. This vulnerability can expose sensitive information such as model names, version descriptions, source URIs, tags, and other metadata, potentially revealing proprietary or confidential details in multi-tenant environments. The issue is resolved in version 3.10.0.",
"evidence": "osv:CVE-2026-2734",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-2734",
"aliases": [
"BIT-mlflow-2026-2734",
"CVE-2026-2734",
"GHSA-w5xq-c4pf-ghq7",
"PYSEC-2026-2660"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/mlflow/mlflow",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "d0b97413e383796f1ca742b20cac74543185816c"
},
{
"fixed": "6989066af33fdcb03588fd71a1a67f8fc5ef12c9"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:lfprojects:mlflow:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.10.0"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "6989066af33fdcb03588fd71a1a67f8fc5ef12c9"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v3.10.0rc0",
"nightly",
"v3.0.0",
"v2.2.0",
"v1.7.0",
"1.0.0",
"v0.8.1",
"v0.8.0",
"v0.7",
"v0.6.0",
"v0.5.0",
"v0.4.2",
"v0.4.1",
"v0.4.0",
"v0.3.0",
"v0.2.1",
"v0.2.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-2734.json"
}
}
],
"modified": "2026-10-28T02:30:31.263688135Z",
"provider": "osv",
"references": [
"https://huntr.com/bounties/d632f783-b2c7-4a3b-af5e-1d693e841c08",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/2xxx/CVE-2026-2734.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-2734",
"https://github.com/mlflow/mlflow/commit/6989066af33fdcb03588fd71a1a67f8fc5ef12c9"
],
"provider_metadata": {
"cwe_ids": [
"CWE-284"
],
"cna_assigner": "@huntr_ai",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/2xxx/CVE-2026-2734.json"
}
},
"related_cves": [
{
"value": "CVE-2026-2734",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 497991,
"published_at": "2026-05-21T03:49:38.297+00:00"
}