MLFlow Creates a Temporary File With Insecure Permissions
High7.0CVE-2026-4137 · Published May 18, 2026 · updated Sep 1, 2026
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| mlflow PyPI | >= 1.26.0, < 3.11.0 | 3.11.0 |
Details and references
In mlflow/mlflow versions prior to 3.11.0, the `get_or_create_nfs_tmp_dir()` function in `mlflow/utils/file_utils.py` creates temporary directories with world-writable permissions (0o777), and the `_create_model_downloading_tmp_dir()` function in `mlflow/pyfunc/__init__.py` creates directories with group-writable permissions (0o770). These insecure permissions allow local attackers to tamper with model artifacts, such as cloudpickle-serialized Python objects, and achieve arbitrary code execution when the tampered artifacts are deserialized via `cloudpickle.load()`. This vulnerability is particularly critical in environments with shared NFS mounts, such as Databricks, where NFS is enabled by default. The issue is a continuation of the vulnerability class addressed in CVE-2025-10279, which was only partially fixed.
- CVSS 3.0
- CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-378
- Also known as
- BIT-mlflow-2026-4137, CVE-2026-4137, PYSEC-2026-2655
- nvd.nist.gov/vuln/detail/CVE-2026-4137
- github.com/mlflow/mlflow/commit/1dcbb0c2fbd1f446c328830e601ca13a28219b8a
- github.com/mlflow/mlflow/commit/bd8854fb2b4b168a4384ebddc6c4a0b5d56aff01
- github.com/advisories/GHSA-4x5p-f36r-mxxr
- github.com/mlflow/mlflow
- github.com/pypa/advisory-database/tree/main/vulns/mlflow/PYSEC-2026-2655.yaml
- huntr.com/bounties/648dc30b-76c7-4433-86b8-f43d926fd8d6
More MLflow advisories
All MLflow| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| May 19 | MLflow: Improper Origin Validation in MLflow Assistant /ajax-api Endpoints Enables Browser-Mediated Local Command Execution CVE-2026-2611Critical9.6fixed in 3.10.0 | Critical9.6 | 3.10.0 |
| May 15 | MLflow: unauthenticated access to certain FastAPI routes CVE-2026-2652High8.6fixed in 3.11.0 | High8.6 | 3.11.0 |
| May 21 | MLflow authenticated users can enumerate any registered model versions due to lack of per-model permissions checks CVE-2026-2734Medium6.5fixed in 3.10.0 | Medium6.5 | 3.10.0 |
| May 11 | MLflow allows an unauthenticated remote attacker to read arbitrary files from the server's filesystem CVE-2026-2614High7.5fixed in 3.10.0 | High7.5 | 3.10.0 |
| May 11 | MLflow Has a Server-Side Request Forgery (SSRF) Vulnerability CVE-2026-2393High7.1fixed in 3.9.0 | High7.1 | 3.9.0 |
| May 26 | MLflow allows unauthorized access to multipart upload endpoints when the `--serve-artifacts` mode is enabled CVE-2026-2651Critical9.0fixed in 3.11.0rc1 | Critical9.0 | 3.11.0rc1 |