CVE-2026-4137: CWE-378 Creation of Temporary File With Insecure Permissions in mlflow mlflow/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_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.
AI Analysis
Technical Summary
In mlflow/mlflow versions before 3.11.0, the functions get_or_create_nfs_tmp_dir() and _create_model_downloading_tmp_dir() create temporary directories with overly permissive access rights (0o777 and 0o770 respectively). These insecure permissions allow local attackers with access to the filesystem to modify model artifacts, including cloudpickle-serialized Python objects. When these tampered artifacts are deserialized using cloudpickle.load(), attackers can achieve arbitrary code execution. This vulnerability is especially relevant in environments using shared NFS mounts, such as Databricks, where NFS is enabled by default. The vulnerability is a continuation of the CWE-378 class addressed in CVE-2025-10279, which was only partially fixed previously. The CVSS v3.0 score is 7.0 (high severity), reflecting local attack vector with high impact on confidentiality, integrity, and availability.
Potential Impact
Local attackers with access to the filesystem can exploit insecure temporary directory permissions to modify model artifacts. This can lead to arbitrary code execution upon deserialization of tampered artifacts, compromising system confidentiality, integrity, and availability. The vulnerability is particularly critical in shared NFS environments where multiple users have access to the same filesystem, increasing the risk of exploitation.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, restrict local filesystem access to trusted users only, especially on shared NFS mounts. Avoid running mlflow versions prior to 3.11.0 in environments where untrusted users have local access. Monitor vendor channels for updates and apply official patches once released.
CVE-2026-4137: CWE-378 Creation of Temporary File With Insecure Permissions in mlflow mlflow/mlflow
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.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
In mlflow/mlflow versions before 3.11.0, the functions get_or_create_nfs_tmp_dir() and _create_model_downloading_tmp_dir() create temporary directories with overly permissive access rights (0o777 and 0o770 respectively). These insecure permissions allow local attackers with access to the filesystem to modify model artifacts, including cloudpickle-serialized Python objects. When these tampered artifacts are deserialized using cloudpickle.load(), attackers can achieve arbitrary code execution. This vulnerability is especially relevant in environments using shared NFS mounts, such as Databricks, where NFS is enabled by default. The vulnerability is a continuation of the CWE-378 class addressed in CVE-2025-10279, which was only partially fixed previously. The CVSS v3.0 score is 7.0 (high severity), reflecting local attack vector with high impact on confidentiality, integrity, and availability.
Potential Impact
Local attackers with access to the filesystem can exploit insecure temporary directory permissions to modify model artifacts. This can lead to arbitrary code execution upon deserialization of tampered artifacts, compromising system confidentiality, integrity, and availability. The vulnerability is particularly critical in shared NFS environments where multiple users have access to the same filesystem, increasing the risk of exploitation.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, restrict local filesystem access to trusted users only, especially on shared NFS mounts. Avoid running mlflow versions prior to 3.11.0 in environments where untrusted users have local access. Monitor vendor channels for updates and apply official patches once released.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- @huntr_ai
- Date Reserved
- 2026-03-13T15:15:45.839Z
- Cvss Version
- 3.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a0b7bdbec166c07b0f9e87e
Added to database: 5/18/2026, 8:51:39 PM
Last enriched: 5/18/2026, 9:06:45 PM
Last updated: 5/20/2026, 6:02:13 PM
Views: 25
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.