MLflow
CVE-2026-118627
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious SHAP explainer model
-
DeliveryDeliver via artifact store or web page
-
ExploitVictim loads model via load_explainer
-
ExecutionUntrusted deserialization triggers code execution
-
ImpactCode runs as current user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the victim to load an attacker-controlled SHAP explainer model through MLflow's SHAP load_explainer code path; the attacker must first deliver that malicious serialized model and induce the user to open the file or visit a malicious page (UI:R). The flaw is reachable by an unauthenticated attacker in the sense that no privileges are needed on the target (PR:N), but it is NOT remotely triggerable without local user action - the vector is local (AV:L), so exploitation is limited to contexts where a user actively loads untrusted explainer models, and code executes only with that user's privileges (scope unchanged, no privilege escalation described). The precise serialization format and whether loading is gated by any opt-in flag are not described in the available sources. |
| Impact | This is a CWE-502 deserialization-to-RCE flaw in MLflow's SHAP explainer loading (load_explainer), carrying a CVSS 3.0 base score of 7.8 with the vector AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H. The vector is the key signal: despite the 'Remote Code Execution' and 'remote attackers' language in the description, the attack vector is LOCAL (AV:L) and requires user interaction (UI:R) - the victim must open a malicious model file or visit a malicious page, and code runs only in the context of the current user, not as a server or root. This is therefore not a remote, unauthenticated, server-side pre-auth RCE; it is a client/operator-side code-execution bug triggered by loading attacker-supplied content. No EPSS score, CISA KEV listing, or confirmed public exploit was provided in the input, so there is no evidence of active exploitation or weaponization. The only intelligence signal of urgency is the vuln.today 'this_week' decision label and the fact that it was reported through Trend Micro's Zero Day Initiative (ZDI-CAN-30301, advisory ZDI-26-843), indicating a vendor-coordinated, credible disclosure rather than observed in-the-wild activity. Net assessment: a genuinely serious bug (full C/I/A impact, low complexity, no privileges needed) but gated by user interaction and local vector, so it ranks as an important patch-this-week item rather than a drop-everything emergency - EPSS and KEV are absent, which is consistent with no known widespread exploitation. |
| Exploit ScenarioDerived | An attacker crafts a malicious serialized SHAP explainer model and distributes it (e.g., via a model registry, shared artifact, email attachment, or a web page) so that a data scientist or ML engineer loads it with MLflow's load_explainer. Because the loader deserializes untrusted data without validation, opening the crafted model executes the attacker's code with the privileges of the user running MLflow. No public exploit was identified in the provided data, though a ZDI advisory reference exists. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 04, 2026
MLflow's SHAP explainer loading path (load_explainer) deserializes untrusted model content, allowing an attacker who supplies a malicious explainer file to execute arbitrary code with the privileges of the user who loads it (CVSS 7.8, CWE-502, ZDI-CAN-30301). The assessed vector is local (AV:L) with user interaction required (UI:R) - the target must open a malicious file or visit a malicious page - so exposure is confined to environments where users load SHAP explainer models from untrusted or unverified sources; no privileges are needed on the target (PR:N) and scope is unchanged, meaning code runs only as that user. No CISA KEV entry and no public exploit code were identified at time of analysis, and the vulnerability carries a 'this_week' priority label rather than an emergency designation.
RemediationAI
No vendor-released patch or fixed version is identified in the available data, so remediation must start by tracking the ZDI advisory at https://www.zerodayinitiative.com/advisories/ZDI-26-843/ and the MLflow project's release notes for a patched version, then upgrading as soon as one is published. Until a fix is confirmed, the exploitation prerequisite itself is the most direct control: because the attacker must get a malicious serialized SHAP explainer in front of a user (open a file or visit a page), block the load_explainer path from consuming explainer artifacts that originate outside a trusted, internally produced set - treat downloaded, shared or registry-sourced explainers as untrusted and avoid loading them on hosts where the running user holds sensitive credentials. The trade-off is that SHAP explainer inspection and any workflows that rely on externally supplied explainers stop working until artifacts are re-generated internally or the code path is patched. Whether MLflow offers a native opt-in or safe-loading flag that would disable this deserialization is not described in the available sources and should be verified with the vendor rather than assumed.
Affected ProductsAI
MLflow installations that load SHAP explainer models through the load_explainer code path are affected; the vulnerability exists in how that path deserializes user-supplied explainer content. The supplied intelligence does not include CPE identifiers or an enumerated affected-version range, so the specific MLflow releases impacted cannot be listed from the available data and should be confirmed against the vendor. The authoritative reference is the Zero Day Initiative advisory ZDI-26-843 at https://www.zerodayinitiative.com/advisories/ZDI-26-843/, which corresponds to the reported ZDI-CAN-30301 case; no NVD-style CPE configuration data was provided to narrow affected builds further.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a CWE-502 deserialization-of-untrusted-data issue in MLflow's SHAP (SHapley Additive exPlanations) explainer loading code path, tracked as ZDI-CAN-30301 and published as ZDI-26-843. When MLflow loads a SHAP explainer model, the loading routine fails to properly validate user-supplied data before reconstructing the object, so a crafted serialized explainer can instantiate arbitrary objects and execute code in the loading process. The precise serialization format used by this code path, and whether loading is gated behind any opt-in flag or safe-mode setting, are not described in the available sources; deserialization flaws of this class in Python model-loading code frequently stem from pickle-style loaders, but that specific mechanism is not confirmed here. Impact is bounded by the assessed vector: AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - the attacker needs the victim to load the malicious explainer (UI:R), gains code execution at the victim user's privilege level, and no privilege escalation or change of scope is described.
Know when Mlflow gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Triggered only when a user loads a malicious explainer model (AV:L, UI:R); no privileges needed (PR:N) and deserialization yields full code execution as the user (C:H/I:H/A:H, S:U).
Primary rating from Vendor (trendmicro).
CVSS VectorVendor: trendmicro
DescriptionCVE.org
MLflow SHAP load_explainer Deserialization of Untrusted Data Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of MLflow. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file.
The specific flaw exists within the loading of SHAP explainer models. The issue results from the lack of proper validation of user-supplied data, which can result in deserialization of untrusted data. An attacker can leverage this vulnerability to execute code in the context of the current user. Was ZDI-CAN-30301.
Executive ViewAI
A high-severity vulnerability in MLflow's SHAP explainer loading function allows arbitrary code execution when a user opens a malicious model file, potentially compromising data and systems for organizations using MLflow for machine learning workflows. While no active exploitation has been observed, the risk is significant for teams that load explainer models from untrusted sources, and leadership should prioritize remediation to prevent potential breaches.
No vendor-released patch identified at time of analysis. Interim mitigations include restricting SHAP explainer loading to trusted, verified model files, implementing file integrity checks, and isolating MLflow environments with least privilege.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Server-side request forgery in MLflow before 3.15.0 lets remote unauthenticated attackers coerce the server into making
A path traversal vulnerability exists in mlflow/mlflow version 2.15.1. Rated high severity (CVSS 7.5), this vulnerabilit
Absolute Path Traversal in GitHub repository mlflow/mlflow prior to 2.5.0. Rated critical severity (CVSS 10.0), this vul
Unauthenticated remote code execution in MLflow 3.12.0rc0 through 3.16.x lets any network caller reach the tracking serv
MLflow's FastAPI job endpoints bypass basic-auth entirely, allowing network attackers to submit and execute jobs without
A malicious user could use this issue to get command execution on the vulnerable machine and get access to data & models
A malicious user could use this issue to access internal HTTP(s) servers and in the worst case (ie: aws instance) it cou
An attacker is able to arbitrarily create an account in MLflow bypassing any authentication requirment. Rated critical s
An attacker can overwrite any file on the server hosting MLflow without any authentication. Rated critical severity (CVS
Path Traversal: '\..\filename' in GitHub repository mlflow/mlflow prior to 2.3.1. Rated critical severity (CVSS 9.8), th
Path Traversal: '\..\filename' in GitHub repository mlflow/mlflow prior to 2.2.1. Rated critical severity (CVSS 9.8), th
Insufficient sanitization in MLflow leads to XSS when running a recipe that uses an untrusted dataset. Rated critical se
NVD
CVE.org
GitHub PoC
Exploit-DB