CVE Catalog

CVE-2026-4137

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.19%

9th percentile - higher than 9% of all known CVEs

Summary

In mlflow/mlflow prior to version 3.11.0, functions creating temporary directories set insecure permissions (0o777 and 0o770). This allows a local attacker to tamper with model artifacts, leading to arbitrary code execution upon deserialization via cloudpickle.

Risk Assessment

The risk is especially high in environments with shared NFS mounts (e.g., Databricks), where an attacker can gain system control by replacing model files.

Recommendation

Immediately upgrade mlflow/mlflow to version 3.11.0 or later and restrict temporary directory permissions.

Other vulnerabilities in mlflow

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS