CVE-2026-8147: MLflow: trace API endpoints lack proper authorization validators
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 mlflowRun 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
Read for this analysis:
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 entriesCVE-2026-115886
MLflow: SSRF on unauthenticated MLflow servers via third-party scorer kwargs in the scorer invoke, register, and GenAI evaluate endpoints
medium6.5Oct 23, 2026CVE-2026-53995
MLflow FileStore trace IDs allow path traversal and arbitrary file writes
high8.2Oct 20, 2026GHSA-gqvg-gmmx-x4hm
MLFLOW_ALLOW_PICKLE_DESERIALIZATION=False safety control bypassed by mlflow.statsmodels flavor — RCE via crafted model artifact
high8.8Sep 1, 2026CVE-2026-64849
MLflow: Unauthenticated full-read SSRF in webhook delivery: _validate_webhook_url bypassed via unvalidated HTTP redirects (and DNS rebinding)
critical9.3ExploitedAug 17, 2026CVE-2026-71211
MLflow AI Gateway permits SSRF through an unvalidated api_base
high7.1No fixAug 5, 2026CVE-2026-10803
MLflow: Deterministic sampling in dataset digest enables predictable collisions
low3.6Jun 4, 2026
