Mlflow: Command Injection when serving models with enable_mlserver=True
Critical9.6CVE-2026-0596 · Published Mar 31, 2026 · updated Jun 29, 2026
A command injection vulnerability exists in Mlflow when serving a model with `enable_mlserver=True`. The `model_uri` is embedded directly into a shell command executed via `bash -c` without proper sanitization. If the `model_uri` contains shell metacharacters, such as `$()` or backticks, it allows for command substitution and execution of attacker-controlled commands. This vulnerability affects the latest version of mlflow/mlflow and can lead to privilege escalation if a higher-privileged service serves models from a directory writable by lower-privileged users.
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| mlflow PyPI | < 3.9.0 | 3.9.0 |
Details and references
- CVSS 3.0
- CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-78
- Also known as
- BIT-mlflow-2026-0596, CVE-2026-0596, PYSEC-2026-424
More MLflow advisories
All MLflow| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Apr 7 | MLflow: cross-site scripting | Medium5.4 | 3.11.1 |
| Apr 7 | MLflow is vulnerable to an authorization bypass affecting the AJAX endpoint | Medium4.3 | 3.11.0rc0 |
| Apr 3 | MLflow: remote code execution | Critical9.1 | No fix yet |
| Mar 30 | MLflow Command Injection vulnerability | Critical10.0 | 3.8.1 |
| Mar 30 | MLFlow path traversal vulnerability | Critical9.6 | 3.9.0rc0 |
| Mar 27 | MLFlow allows Tracing + Assessments Access | High8.1 | No fix yet |