highCVSS 7.8NVD status: Analyzed

CVE-2026-4137

MLflow: 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_downl...

ComponentMLflow
Severityhigh (CVSS 7.8)
CVSS vectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Published (NVD)2026-05-18
Last modified2026-07-24
Affected versions
mlflow < 3.11.0
Fixed in3.11.0
WeaknessCWE-378
CISA KEVnot listed

NVD description

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.

Does CVE-2026-4137 hit the version you run?Paste your docker-compose.yml, requirements.txt or package.json. The scanner checks your pinned versions against this CVE and every other one we track for MLflow.
Check my stack

What to do

  • Upgrade MLflow to 3.11.0 or later.
  • Do not expose the component's API or UI to the internet without authentication in front of it.

Sources

Read more

Other MLflow CVEs

All MLflow CVEs