CVE-2025-14287: Command Injection in mlflow/mlflow
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 Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
mlflow/mlflowto a version that resolves this vulnerability.Fixed in v3.7.0 - Configuration
In MLflow environments, ensure the value passed to the CLI `--container` parameter is a sanitized/validated container image reference (e.g., reject characters such as `;`, `&`, `|`, backticks, `$()`, newlines, and other shell metacharacters) to prevent command injection via shell execution paths.
MLflow CLI --container parameter (container image name input) = Only allow validated, trusted container image names (no shell metacharacters/whitespace)
Event History
Frequently Asked Questions
What is the severity of CVE-2025-14287?
CVE-2025-14287 has been classified as a high severity command injection vulnerability.
How do I fix CVE-2025-14287?
To fix CVE-2025-14287, upgrade mlflow to version 3.7.0 or later.
What versions of mlflow are affected by CVE-2025-14287?
CVE-2025-14287 affects mlflow versions prior to 3.7.0.
What type of vulnerability is CVE-2025-14287?
CVE-2025-14287 is a command injection vulnerability.
In which file is CVE-2025-14287 found?
CVE-2025-14287 is located in the mlflow/sagemaker/__init__.py file, specifically between lines 161-167.