critical9.1
CVE-2025-15031
Arbitrary file write via tar traversal in mlflow
Impact
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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | mlflow | < 3.9.0rc0 | 3.9.0rc0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Lfprojects | Mlflow | through 3.10.1 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://huntr.com/bounties/09856f77-f968-446f-a930-657d126efe4e
- https://access.redhat.com/security/cve/CVE-2025-15031
- https://bugzilla.redhat.com/show_bug.cgi?id=2448912
- https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-15031.json
- https://github.com/advisories/GHSA-fhff-qmm8-h2fp
- https://nvd.nist.gov/vuln/detail/CVE-2025-15031
- https://github.com/mlflow/mlflow/commit/3bf6d81ac4d38654c8ff012dbd0c3e9f17e7e346
- https://github.com/mlflow/mlflow/blob/fe4d9be330426904283401f1d2ed914238b6fc37/mlflow/pyfunc/dbconnect_artifact_cache.py#L140