MLflow has a command injection in mlflow/sagemaker/__init__.py
High7.5CVE-2025-14287 · Published Mar 16, 2026 · updated Sep 10, 2026
A command injection vulnerability exists in mlflow/mlflow versions before v3.7.0, specifically in the `mlflow/sagemaker/__init__.py` file at lines 161-167. The vulnerability arises from the direct interpolation of user-supplied container image names into shell commands without proper sanitization, which are then executed using `os.system()`. This allows attackers to execute arbitrary commands by supplying malicious input through the `--container` parameter of the CLI. The issue affects environments where MLflow is used, including development setups, CI/CD pipelines, and cloud deployments.
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| mlflow PyPI | < 3.8.0rc0 | 3.8.0rc0 |
Details and references
- CVSS 3.0
- CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-94
- Also known as
- BIT-mlflow-2025-14287, CVE-2025-14287, PYSEC-2026-2661
More MLflow advisories
All MLflow| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Apr 3 | MLflow: remote code execution | Critical9.1 | No fix yet |
| Mar 31 | Mlflow: Command Injection when serving models with enable_mlserver=True | Critical9.6 | 3.9.0 |
| 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 |
| Mar 19 | Arbitrary file write via tar traversal in mlflow | High8.1 | 3.9.0rc0 |