GitHub Advisoryadvisory · PyPI
GHSA-fhff-qmm8-h2fp Arbitrary file write via tar traversal in mlflow
HIGH
Official page ↗
- Aliases
- CVE-2025-15031
- Ecosystem
- PyPI
- Packages
- mlflow
- Severity
- High
- CVSS vector
- CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
- Weaknesses
- CWE-22
- Reviewed
- 2026-03-19
Affected packages
• PyPI mlflow: < 3.9.0rc0 → fixed in 3.9.0rc0
Description
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.
Related
Alias · CVE (1)
- CVE-2025-15031 A vulnerability in MLflow's pyfunc extraction process allows for arbitrary file writes due to improper handling of tar archive entries. vulnerability
Weakness · CWE (1)
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2025-15031 advisory
- https://github.com/mlflow/mlflow/commit/3bf6d81ac4d38654c8ff012dbd0c3e9f17e7e346 web
- https://github.com/mlflow/mlflow package
- https://github.com/mlflow/mlflow/blob/fe4d9be330426904283401f1d2ed914238b6fc37/mlflow/pyfunc/dbconnect_artifact_cache.py#L140 web
- https://huntr.com/bounties/09856f77-f968-446f-a930-657d126efe4e web