CVE-2023-3765
📋 TL;DR
This vulnerability allows attackers to perform absolute path traversal attacks in MLflow deployments prior to version 2.5.0. Attackers can potentially access arbitrary files on the server filesystem by manipulating file paths. This affects all MLflow users running vulnerable versions, particularly those with internet-facing deployments.
💻 Affected Systems
- MLflow
📦 What is this software?
Mlflow by Lfprojects
⚠️ Risk & Real-World Impact
Worst Case
Complete server compromise via arbitrary file read/write, potentially leading to sensitive data exposure, credential theft, or remote code execution.
Likely Case
Unauthorized access to sensitive configuration files, source code, or credentials stored on the server filesystem.
If Mitigated
Limited impact with proper file permissions and network segmentation, but still potential for information disclosure.
🎯 Exploit Status
Path traversal vulnerabilities are commonly exploited and require minimal technical skill.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.5.0 and later
Vendor Advisory: https://github.com/mlflow/mlflow/commit/6dde93758d42455cb90ef324407919ed67668b9b
Restart Required: Yes
Instructions:
1. Backup your MLflow data and configuration. 2. Update MLflow using pip: 'pip install --upgrade mlflow>=2.5.0'. 3. Restart all MLflow services. 4. Verify the update with 'mlflow --version'.
🔧 Temporary Workarounds
Disable file serving
allDisable MLflow's file serving functionality if not required
Configure MLflow to not serve static files or artifacts
Network segmentation
allRestrict network access to MLflow deployment
Configure firewall rules to limit access to trusted IPs only
🧯 If You Can't Patch
- Implement strict file system permissions to limit what MLflow can access
- Deploy MLflow behind a reverse proxy with path validation and sanitization
🔍 How to Verify
Check if Vulnerable:
Check MLflow version with 'mlflow --version' or 'pip show mlflow' and verify it's below 2.5.0
Check Version:
mlflow --version
Verify Fix Applied:
Confirm version is 2.5.0 or higher with 'mlflow --version'
📡 Detection & Monitoring
Log Indicators:
- Unusual file path patterns in access logs
- Requests containing '../' or absolute paths
- Failed file access attempts outside expected directories
Network Indicators:
- HTTP requests with path traversal sequences
- Unusual file extensions or paths in URLs
SIEM Query:
source="mlflow.logs" AND (url="*../*" OR url="*/*:*" OR url="*/etc/*" OR url="*/passwd*")