NewApp Monitoring is liveSign up free
AgentbeamBeta
AI agent vulnerability · MLflow

CVE-2026-8147: MLflow: trace API endpoints lack proper authorization validators

highCVSS 3.0 8.1GHSA-2cm6-r77w-6g96

MLflow tracking servers running with basic authentication did not check permissions on the trace API. Any authenticated user could read, modify or delete traces in experiments they have no access to. Affects mlflow 2.14.0rc0 up to but not including 3.13.0rc0; fixed in 3.13.0rc0.

Published Jul 2, 2026 · Updated Aug 13, 2026 · Analysis Oct 25, 2026

What an attacker can do

MLflow's auth app (mlflow/server/auth/__init__.py) looks up a validator for each request in BEFORE_REQUEST_HANDLERS. The trace request classes had no entries, so _find_validator() returned None and the _before_request handler let the request through unchecked. Experiment-level permissions therefore did not apply to trace operations.

The attacker needs a valid login on the tracking server, with any permission level, and network access to it. Using the trace endpoints, they can search and read traces from any experiment, delete traces, set or delete trace tags, and link traces to runs. The advisory warns of exposed sensitive data, destroyed audit logs and unauthorized modification. Traces from LLM and agent applications often hold prompts, tool inputs and outputs, and model responses, so a low-privilege user can read other teams' production conversations. Deleting traces also removes evidence of what an agent did.

Who is affected

The pip package mlflow from 2.14.0rc0 up to, but not including, 3.13.0rc0, on servers started with authentication enabled (--app-name basic-auth). The PR describes the missing checks in that mode.

pip show mlflow

Run it on the tracking server, not only on client machines. Also check container images that pin an mlflow version.

mlflow

Ecosystem
PyPI
Affected
>= 2.14.0rc0, < 3.13.0rc0
Fixed in
3.13.0rc0
Check
pip show mlflow

How to fix it

Upgrade to mlflow 3.13.0rc0 or later:

pip install --upgrade "mlflow>=3.13.0rc0"

The fix registers validators for the trace endpoints. Each trace is resolved to its parent experiment and checked against that experiment's permissions. Unknown traces, malformed bodies and unknown /mlflow/traces/ sub-paths are denied. The sources list no workaround. Until you upgrade, limit who can log in to the tracking server and keep it off untrusted networks.

How to tell if you were hit

Review tracking server access logs for requests to the trace endpoints, such as search, batch get, delete, tag and link-to-run calls, made by users who have no permission on the target experiment. Look for traces that vanished or tags that changed without a known reason. The sources give no log line. Compare each user's experiment permissions with the experiments they queried.

Original advisory

From the GitHub Advisory Database (CC BY 4.0).

In MLflow versions prior to 3.13.0, when running with authentication enabled, the trace API endpoints lack proper authorization validators. This allows any authenticated user to bypass experiment-level authorization controls on all trace operations, including reading, deleting, and modifying traces on experiments they do not have permission to access. The issue arises from the _before_request handler, which does not register authorization validators for trace endpoints, resulting in requests proceeding without validation. This vulnerability can expose sensitive data, destroy audit logs, and allow unauthorized modifications.

Credited to 0x00-sys.

Questions

Does CVE-2026-8147 affect MLflow without authentication?

The flaw is a missing authorization check in the auth layer, so it concerns servers run with authentication enabled. A server with no auth has no per-experiment permissions to bypass.

What does an attacker need?

A valid authenticated account on the tracking server. The vector requires low privileges and no user interaction. They do not need access to the target experiment.

Which version fixes it?

3.13.0rc0, the first patched version in the advisory data. The 3.13.0 release tag is linked from the references.

References

How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology

More MLflow vulnerabilities

All MLflow entries