Authentication Bypass by Primary Weakness Affecting mlflow package, versions <3.16.0-r0


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
1.41% (72nd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-CHAINGUARDLATEST-MLFLOW-19829246
  • published16 Sept 2026
  • disclosed15 May 2026

Introduced: 15 May 2026

CVE-2026-2652  (opens in a new tab)
CWE-305  (opens in a new tab)

How to fix?

Upgrade Chainguard mlflow to version 3.16.0-r0 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream mlflow package and not the mlflow package as distributed by Chainguard. See How to fix? for Chainguard relevant fixed versions and status.

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.