Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local authenticated access to MLflow host
-
DeliveryAnalyze target dataset digest schema and column sampling behavior
-
ExploitCraft MD5-colliding substitute dataset
-
ExecutionLog benign dataset to establish baseline digest
-
PersistSubstitute fraudulent dataset matching same digest
-
ImpactBypass MLflow dataset integrity validation
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Approved algorithm selection
|
| Exploitation Conditions | Exploitation requires local host access to the system running MLflow (AV:L) - remote network exploitation is not possible. The attacker must hold at least low-privilege credentials on the local host (PR:L per CVSS vector). The vulnerability is limited to code paths that invoke mlflow.data.digest_utils functions (compute_pandas_digest, compute_numpy_digest, hash_dict_of_arrays), meaning the MLflow dataset tracking feature must be in use - MLflow deployments that do not log datasets are not exposed. High attack complexity (AC:H) is the primary limiting factor: crafting collision-inducing inputs against the specific digest schema requires expertise and effort. The vulnerability does not affect MLflow model serving, experiment tracking unrelated to datasets, or any network-facing interface. |
| Impact | The CVSS 4.0 score of 1.1 accurately reflects the narrow real-world risk profile. The attack vector is strictly local (AV:L), requires low privileges (PR:L), and carries high complexity (AC:H) - MD5 collision crafting against a specific dataset digest schema is non-trivial even with published tooling. Impact is limited to minor integrity and availability on the vulnerable component (VI:L/VA:L) with no confidentiality impact (VC:N) and no impact on subsequent system components (SC:N/SI:N/SA:N). EPSS data was not provided in the input, so exploitation probability cannot be quantified. The vulnerability is not listed in CISA KEV. The primary realistic threat is a malicious insider or compromised local user substituting a fraudulent dataset while evading MLflow's lineage tracking - a narrow scenario relevant mainly to ML pipeline integrity assurance contexts. The 'Information Disclosure' tag in source intelligence appears inconsistent with the CVSS VC:N rating and may reflect the broader CWE-327 classification rather than a direct confidentiality impact; this discrepancy should be verified with the vendor. |
| Exploit ScenarioDerived | A locally authenticated MLflow user with low privileges crafts two distinct pandas DataFrames engineered to produce an identical 8-character MD5 digest by exploiting MD5 collision properties and the limited column type coverage in the original sampling logic. The attacker logs the benign dataset under a known run, then substitutes the malicious dataset with the same computed digest, bypassing MLflow's dataset integrity check. A proof-of-concept demonstrating this collision has been published, though the high attack complexity (AC:H) requires significant up-front effort to engineer the collision inputs. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 04, 2026
Dataset digest computation in MLflow up to version 3.10.0 uses MD5 - a cryptographically broken algorithm - to fingerprint datasets, enabling a local attacker to craft colliding inputs that undermine dataset integrity tracking. Affected functions include compute_pandas_digest, compute_numpy_digest, and hash_dict_of_arrays in mlflow/data/digest_utils.py, which use a truncated 8-character MD5 digest that further reduces the collision space. Publicly available exploit code exists; this vulnerability is not confirmed actively exploited per CISA KEV, and the CVSS 4.0 score of 1.1 reflects the constrained local-only attack surface.
RemediationAI
No vendor-released patch has been identified at time of analysis. An upstream fix is available as an unmerged pull request at https://github.com/mlflow/mlflow/pull/22420; the patched release version has not been independently confirmed because MLflow had not merged the PR at time of reporting. Organizations with a high sensitivity to ML pipeline integrity can manually apply the patch from PR #22420, which replaces MD5 with SHA-256, extends the digest length to 32 characters, and adds head+tail sampling plus dtype metadata - note this change will alter existing digest values for previously logged datasets, potentially breaking lineage continuity checks. As a compensating control without code modification, restrict local system access to the MLflow tracking server and audit who can write datasets to the registry, since the attack requires local host access with at least low-privilege credentials. Monitor the PR and MLflow release notes for an official patched version.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in mlflow/data/digest_utils.py, where the get_normalized_md5_digest function uses hashlib.md5(usedforsecurity=False) and returns only the first 8 characters of the hex digest for dataset fingerprinting. CWE-327 (Use of a Broken or Risky Cryptographic Algorithm) identifies MD5 as unsuitable for integrity assurance due to well-documented collision attacks. The 8-character truncation reduces the effective digest space to 32 bits, compounding the weakness. Additionally, the original implementation only sampled the head rows of large DataFrames and excluded non-string/non-numeric columns, creating further collision opportunities. The proposed fix in PR #22420 replaces MD5 with SHA-256, expands the digest to 32 characters, shifts to head+tail sampling, and incorporates column names and dtype metadata to harden against crafted collision inputs. No CPE strings were included in the provided input data; affected product is MLflow Python package versions up to and including 3.10.0.
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
CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Primary rating from Vendor (vuldb) · only source for this CVE.
CVSS VectorVendor: vuldb
DescriptionCVE.org
A flaw has been found in MLflow up to 3.10.0. This issue affects the function mlflow.data.digest_utils of the file mlflow/data/digest_utils.py of the component Dataset Digest Computation. This manipulation causes use of weak hash. It is possible to launch the attack on the local host. The attack is considered to have high complexity. The exploitability is assessed as difficult. The exploit has been published and may be used. The project was informed of the problem early through a pull request but has not reacted yet.
Blast Radius
ecosystem impact- 16 pypi packages depend on mlflow (16 direct, 0 indirect)
Ecosystem-wide dependent count for version 3.10.1.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
EUVD-2026-34245
GHSA-5qmp-p3c4-72qj
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB