CVE-2025-10279·Python vulnerability
In mlflow version 2.20.3, the temporary directory used for creating Python virtual environments is assigned insecure world-writable permissions (0o777). This vulnerability allows an attacker with write access to the `/tmp` directory to exploit a race condition and overwrite `.py` files in the virtual environment, leading to arbitrary code execution. The issue is resolved in version 3.4.0.
- Severity
- high
- Software
- Python
- Fixed in
- 3.4.0
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at <0.1% — in the bottom 1% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Read the two together. CVE-2025-10279 scores 7 on CVSS, so a successful attack would be serious — but at <0.1%, almost nobody is currently attempting it. That is a different situation from a flaw under mass exploitation, and it is usually the difference between patching on your next maintenance window and patching tonight.
Affected versions
Until: 3.4.0
Fixed in: 3.4.0
How to fix this CVE
MLflow users must upgrade to version 3.4.0 or later to patch the insecure temporary directory permissions vulnerability. This update fixes the world-writable `/tmp` directory issue that could allow local attackers to inject malicious code into Python virtual environments. Apply the patch immediately if MLflow is deployed in multi-user environments or on shared systems.
sudo dnf update python3-mlflow || sudo pip install --upgrade mlflow>=3.4.0Defensia detects this vulnerability
How to check if you are affected
- Check MLflow version: python3 -c "import mlflow; print(mlflow.__version__)" and verify output is 3.4.0 or later
- Identify MLflow virtual environment directories: find /tmp -name '.venv*' -o -name 'mlflow*' 2>/dev/null and check permissions with ls -la /tmp/mlflow* | grep -E '\s7\s'
- Search system logs for unauthorized Python file modifications: grep -r 'site-packages' /var/log/ | grep -i 'modified\|created' within the last 30 days
- Verify the patch: dpkg -l | grep mlflow (Debian/Ubuntu) or rpm -qa | grep mlflow (RHEL/CentOS) and confirm version ≥ 3.4.0
FAQ
What is CVE-2025-10279?
CVE-2025-10279 is a privilege escalation vulnerability in MLflow where temporary directories for Python virtual environments are created with overly permissive 0o777 permissions, allowing local users with `/tmp` access to inject arbitrary code through file manipulation.
Is CVE-2025-10279 being actively exploited?
No, this vulnerability is not currently listed on the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are available at this time.
What versions of Python are affected by CVE-2025-10279?
All MLflow versions up to and including 2.20.3 are affected. The vulnerability is patched in MLflow version 3.4.0 and all subsequent releases.
How do I check if my server is vulnerable to CVE-2025-10279?
Run `python3 -c "import mlflow; print(mlflow.__version__)"` and if the version is below 3.4.0, your installation is vulnerable.
Does Defensia detect CVE-2025-10279?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If MLflow is installed on a monitored server, CVE-2025-10279 will appear in your dashboard with remediation steps.
Related Python CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2025-10279. Free for 1 server.
Get started free