VDB
Sign up
MEDIUM6.5

PYSEC-2026-2660

MLflow authenticated users can enumerate any registered model versions due to lack of per-model permissions checks

Quick fix

PYSEC-2026-2660 — mlflow: upgrade to the fixed version with the command below.

pip install --upgrade 'mlflow>=3.10.0'

Details

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.

Are you affected?

Enter the version of the package you're using.

Affected packages

PyPI/mlflow
Introduced in: 0Fixed in: 3.10.0
Fixpip install --upgrade 'mlflow>=3.10.0'

References