A vulnerability in MLflow's pyfunc extraction process allows for arbitrary file writes due to improper handling of tar archive entries. Specifically, the use of tarfile.extractall without path validation enables crafted tar.gz files containing .. or absolute paths to escape the intended extraction directory. This issue affects the latest version of MLflow and poses a high/critical risk in scenarios involving multi-tenant environments or ingestion of untrusted artifacts, as it can lead to arbitrary file overwrites and potential remote code execution.
CVE-2025-15031
This critical-severity CVE scores 9.1 under NVD CVSS v3. EPSS exploit-prediction score not yet available (the EPSS model rescores nightly; freshly-published CVEs typically appear within 48 hours). GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High severity, but no confirmed exploitation yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 9.1
- EG Score
- 9.1(low)
- EPSS
- 54.1%
- KEV
- Not listed
Published
March 18, 2026
Last Modified
July 15, 2026
Advisory Details (4)
Auto-updated Jun 30, 2026huntr - The world's first bug bounty platform for AI/ML
https://huntr.com/bounties/09856f77-f968-446f-a930-657d126efe4e2448912 – (CVE-2025-15031) CVE-2025-15031 mlflow/mlflow: Path Traversal Vulnerability in mlflow/mlflow
https://bugzilla.redhat.com/show_bug.cgi?id=2448912Affected Packages
(1 across 1 ecosystem)
PyPI(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| mlflow | 0.0.1 ... 3.8.1 (167 versions) | 3.9.0rc0 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 17× in last 7d / 33× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-19 14:30 UTCEPSS rescore
- 2026-07-19 14:30 UTCEPSS rescore
- 2026-07-19 02:28 UTCEPSS rescore
- 2026-07-19 02:28 UTCEPSS rescore
- 2026-07-18 10:03 UTCEPSS rescore
- 2026-07-18 06:59 UTCOSV refresh
- 2026-07-16 17:02 UTCEPSS rescore
- 2026-07-16 17:02 UTCEPSS rescore
- 2026-07-15 16:57 UTCEPSS rescore
- 2026-07-15 16:57 UTCEPSS rescore
- 2026-07-15 02:22 UTCNVD updateCVSS v3 → 9.1 · severity → CRITICAL
- 2026-07-15 02:06 UTCMITRE cvelistV5CVSS v3 → 8.1 · severity → HIGH
- 2026-07-15 01:59 UTCEPSS rescore
- 2026-07-15 01:59 UTCEPSS rescore
- 2026-07-13 22:29 UTCEPSS rescore
- 2026-07-13 22:29 UTCEPSS rescore
- 2026-07-13 06:12 UTCEPSS rescore
- 2026-07-12 05:46 UTCEPSS rescore
- 2026-07-12 05:45 UTCEPSS rescore
- 2026-07-11 08:26 UTCEPSS rescore
- 2026-07-11 08:26 UTCEPSS rescore
- 2026-07-09 19:09 UTCEPSS rescore
- 2026-07-08 15:14 UTCEPSS rescore
- 2026-07-07 13:45 UTCEPSS rescore
- 2026-07-06 16:26 UTCEPSS rescore
Show 8 moreShow fewer
- 2026-07-06 02:22 UTCEPSS rescore
- 2026-07-06 02:22 UTCEPSS rescore
- 2026-07-05 02:30 UTCEPSS rescore
- 2026-07-04 06:30 UTCEPSS rescore
- 2026-07-01 15:06 UTCEPSS rescore
- 2026-06-30 23:21 UTCEPSS rescore
- 2026-06-30 04:38 UTCEG score recompute
- 2026-06-30 04:32 UTCNVD updatefirst tracked
Related CVEs(same CWE)
Same CWE
10 shownCWE-22
Frequently asked(5)
What is CVE-2025-15031?
When was CVE-2025-15031 disclosed?
Is CVE-2025-15031 actively exploited?
What is the CVSS score of CVE-2025-15031?
How do I remediate CVE-2025-15031?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2025-15031
Is Your Infrastructure Affected by CVE-2025-15031?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.