Horizon Alert
Summary of the vulnerability and why it matters
A vulnerability exists in MLflow, an AI engineering platform, that could allow for unauthorized code execution through its third-party scorer functionality. This issue affects specific versions of MLflow and can be exploited by placing a malicious Python module within an allowed package, which is then imported and executed by the scorer.
- Malicious code execution risk in MLflow platform.
- Critical for AI platforms managing models and experiments.
- Confirm relevance and ensure MLflow instances are updated.
Attack Path
How an attacker could exploit the issue
An attacker could exploit this vulnerability by placing a malicious Python module in a writable artifact location within MLflow. By then invoking a specific API endpoint with crafted JSON data, the attacker can cause MLflow to import and execute code from this module, potentially leading to system compromise. This attack is possible even in deployments without authentication, and in authenticated environments, an attacker with privileges to upload artifacts can achieve the same outcome.
- Unauthenticated or authenticated access
- Invoking the scorer invoke API
- Arbitrary code execution
Live Threat
Current exploitation, exposure, and threat context
MLflow deployments with writable scorer packages could allow an attacker to execute arbitrary code. This vulnerability affects the MLflow AI engineering platform, specifically when handling third-party scorer deserialization. Unauthenticated access is possible, while authenticated access requires privileges to upload artifacts.
- Arbitrary code execution.
- Via crafted MLflow artifact uploads.
- Compromise of the MLflow service.
Operational Fix
Recommended remediation, mitigation, and detection steps
Application owners are responsible for managing MLflow deployments. The first step is to identify all MLflow instances, determine their reachability and business criticality, and locate the accountable owner to plan remediation.
- Application owners should manage the issue.
- Verify MLflow instance reachability and criticality.
- Plan remediation based on risk exposure.