MLflow vulnerable to remote code execution on unauthenticated servers via third-party scorer deserialization importing
Affects mlflowSource GCVE Database
Not known to be exploited · CVSS 9.8 Critical : upgrade to 3.17.0 as a priority.
Data as of 27 Oct 2026, 22:26 UTC
- Patch
- Available – fixed in 3.17.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 27 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade mlflow to 3.17.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| PyPImlflow | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A patch is available in MLflow version 3.17.0 that fixes this vulnerability. Users should upgrade to version 3.17.0 or later. Until patched, enabling authentication does not fully mitigate the issue because the scorer invocation endpoint bypasses resource permission checks. Running the server with reduced privileges and restricting writable locations under allowed scorer packages may reduce risk but do not fully prevent exploitation. The vendor advisory confirms the availability of an official fix.
Description
MLflow versions from 3.12.0rc0 up to but not including 3.17.0 are vulnerable to unauthenticated remote code execution via a flaw in third-party scorer deserialization. The vulnerability arises because the server imports and instantiates Python classes from request-controlled module paths under allowed package prefixes, which can be exploited by uploading malicious Python modules into writable artifact directories within these allowed packages. This leads to arbitrary code execution with the privileges of the MLflow server process, which by default runs as root in the official image. The issue is critical and has a CVSS score of 9.8. A fix is available in MLflow 3.17.0.
References
- github.com/mlflow/mlflow/security/advisories/GHSA-26p8-2jq9-3vq9 (opens in a new tab)
- github.com/mlflow/mlflow/pull/25906 (opens in a new tab)
- github.com/mlflow/mlflow/commit/a732443e695c3c677680c54320efc394c81654ab (opens in a new tab)
- github.com/mlflow/mlflow (opens in a new tab)
- github.com/mlflow/mlflow/releases/tag/v3.17.0 (opens in a new tab)