CVE-2026-2652 PUBLISHED

Authentication Bypass in mlflow/mlflow

Assigner: @huntr_ai
Reserved: 18.02.2026 Published: 15.05.2026 Updated: 15.05.2026

A vulnerability in mlflow/mlflow versions 3.9.0 and earlier allows unauthenticated access to certain FastAPI routes when the server is started with authentication enabled (--app-name basic-auth) and served via uvicorn (ASGI). The FastAPI permission middleware only enforces authentication on /gateway/ routes, leaving other routes such as the Job API (/ajax-api/3.0/jobs/*) and the OpenTelemetry trace ingestion API (/v1/traces) unprotected. This allows unauthenticated remote attackers to submit jobs, read job results, cancel running jobs, and inject arbitrary trace data into experiments. The issue arises from an architectural mismatch between Flask and FastAPI authentication mechanisms, where the _find_fastapi_validator() function fails to handle non-/gateway/ paths, resulting in a complete authentication bypass. This vulnerability is fixed in version 3.10.0.

Metrics

CVSS Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L
CVSS Score: 8.6

Product Status

Vendor mlflow
Product mlflow/mlflow
Versions
  • affected from unspecified to 3.10.0 (excl.)

References

Problem Types

  • CWE-305 Authentication Bypass by Primary Weakness CWE