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.
Security readout for executives and security teams
Plain-English summary
MLflow versions before v3.7.0 can let a lower-privileged user run unintended operating-system commands through a SageMaker container image parameter. The main risk is to ML development, CI/CD, or cloud deployment environments where MLflow commands run with useful credentials or access to data.
Executive priority
Treat this as a high-priority patching and exposure review item for ML engineering platforms. Business urgency rises if MLflow jobs run with production cloud credentials, access sensitive datasets, or execute in shared CI/CD infrastructure.
Technical view
The issue is command injection in mlflow/mlflow, reported in mlflow/sagemaker/__init__.py lines 161-167. User-supplied container image names are interpolated into shell commands and executed with os.system(). CVSS 3.1 is 7.8, local attack vector, low complexity, low privileges, no user interaction, and high confidentiality, integrity, and availability impact.
Likely exposure
Exposure is most likely where MLflow before v3.7.0 is installed and users or automation can supply SageMaker deployment container values, especially developer workstations, CI/CD runners, notebooks, and cloud ML deployment workflows.
Exploitation context
The bundle does not show CISA KEV listing or confirmed active exploitation. The CVSS vector indicates an attacker needs local access and low privileges, but no user interaction, making shared ML and automation environments important to review.
Researcher notes
Root cause is direct interpolation of a user-controlled container image name into shell execution. Affected product metadata names mlflow/mlflow before v3.7.0, but the bundle lacks precise CPEs or downstream packaging status. Validate specific distributions against vendor advisories before declaring closure.
Mitigation direction
Upgrade mlflow/mlflow to v3.7.0 or later where vendor guidance permits.
Check MLflow, Red Hat, and package maintainer advisories for environment-specific remediation status.
Restrict who can run MLflow SageMaker deployment workflows until patched.
Prevent untrusted users from controlling container image parameters in automation.
Review CI/CD runner and cloud credentials exposed to MLflow jobs.
Validation and detection
Inventory MLflow installations and confirm whether any are before v3.7.0.
Identify pipelines, notebooks, or jobs using MLflow SageMaker deployment container settings.
Review access controls for users who can invoke affected MLflow workflows.
Check CI/CD and ML platform logs for unusual MLflow SageMaker deployment activity.
Confirm upgraded environments use the remediated MLflow version.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-78: Command execution behavior lookup
Command injection weaknesses can lead defenders to review execution techniques and command interpreter telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
The affected technology mentions containers, so container-specific ATT&CK technique review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
5Timeline events
2ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-78 · source CWE mapping
Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Control of Generation of Code ('Code Injection')
Improper Control of Generation of Code ('Code Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.