Platform
python
Component
mlflow
Opgelost in
3.8.2
3.9.0rc0
CVE-2025-15379 is een command injection kwetsbaarheid in MLflow, waardoor aanvallers willekeurige code kunnen uitvoeren. De impact is het uitvoeren van code op het systeem. De kwetsbaarheid beïnvloedt versie 3.8.0. De kwetsbaarheid is opgelost in versie 3.8.2.
CVE-2025-15379 is een kritieke command injection kwetsbaarheid in MLflow, specifiek in de container initialisatie code voor model serving. Deze fout treedt op wanneer modellen worden ingezet met envmanager=LOCAL. MLflow leest afhankelijkheidsspecificaties uit het pythonenv.yaml bestand in het model artefact en interpoleert deze direct in een shell commando zonder sanitatie. Een aanvaller kan dit misbruiken door een kwaadaardig model artefact te leveren, waardoor willekeurige commando's kunnen worden uitgevoerd op de systemen die het model inzetten. De CVSS score is 10.0, wat een extreem hoog risico aangeeft. Versies vóór 3.8.1 zijn getroffen. De hoofdoorzaak is het ontbreken van invoervalidatie in het python_env.yaml bestand, waardoor command injection mogelijk is.
Een aanvaller zou deze kwetsbaarheid kunnen exploiteren als ze de mogelijkheid hebben om een kwaadaardig model artefact naar MLflow te uploaden. Dit zou kunnen gebeuren als het model implementatieproces de bron van het artefact niet voldoende valideert. Het kwaadaardige artefact zou een python_env.yaml bestand bevatten dat is ontworpen om willekeurige commando's te injecteren. Bij het implementeren van het model zou MLflow het gewijzigde commando uitvoeren, waardoor de aanvaller code op het implementatiesysteem kan uitvoeren. De complexiteit van de exploitatie is relatief laag, aangezien het alleen de creatie van een kwaadaardig artefact en de implementatie ervan vereist. De vertrouwelijkheid, integriteit en beschikbaarheid van het systeem kunnen worden aangetast.
Organizations heavily reliant on MLflow for model deployment, particularly those using the LOCAL environment manager, are at significant risk. This includes data science teams, machine learning engineers, and DevOps professionals responsible for deploying ML models in production environments. Shared hosting environments where multiple users can upload model artifacts are also particularly vulnerable.
• python / mlflow:
import os
import subprocess
def check_python_env_yaml(yaml_file):
try:
with open(yaml_file, 'r') as f:
yaml_content = f.read()
if '!' in yaml_content:
print(f"Potential command injection detected in {yaml_file}")
except FileNotFoundError:
print(f"File not found: {yaml_file}")
# Example usage
check_python_env_yaml('path/to/python_env.yaml')• linux / server:
find /opt/mlflow/models -name 'python_env.yaml' -print0 | xargs -0 grep -l '!'disclosure
Exploit Status
EPSS
0.24% (47% percentiel)
CISA SSVC
CVSS-vector
De primaire mitigatie voor CVE-2025-15379 is het upgraden naar MLflow versie 3.8.1 of hoger. Deze versie bevat een fix die de invoer van het pythonenv.yaml bestand sanitizeert, waardoor command injection wordt voorkomen. Als extra voorzorgsmaatregel, overweeg dan om het gebruik van envmanager=LOCAL te vermijden indien mogelijk, en kies in plaats daarvan voor veiligere methoden voor omgevingbeheer. Als envmanager=LOCAL noodzakelijk is, implementeer dan een strenge validatie en sanitatie van de afhankelijkheden die gespecificeerd zijn in het pythonenv.yaml bestand voordat deze in shell commando's worden gebruikt. Het monitoren van systeemlogs op verdachte activiteit is ook cruciaal om potentiële exploitatiepogingen te detecteren.
Werk de MLflow-bibliotheek bij naar versie 3.8.2 of hoger. Deze versie bevat een correctie voor de command injection-kwetsbaarheid. U kunt bijwerken met behulp van `pip install mlflow==3.8.2` of een recentere versie.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
MLflow is een open-source platform voor het beheren van de volledige machine learning levenscyclus, van experimenteren tot implementeren.
Versie 3.8.1 fixeert de command injection kwetsbaarheid CVE-2025-15379 en vermindert het risico op willekeurige commando-uitvoering.
Het is een instelling in MLflow die aangeeft dat afhankelijkheden lokaal worden beheerd, door de specificaties uit het python_env.yaml bestand te lezen.
Als u een MLflow versie gebruikt vóór 3.8.1 en env_manager=LOCAL gebruikt, bent u kwetsbaar voor deze kwetsbaarheid.
Naast het upgraden, overweeg dan om envmanager=LOCAL te vermijden indien mogelijk en valideer de afhankelijkheden in het pythonenv.yaml bestand strikt.
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.
Upload je requirements.txt-bestand en we vertellen je direct of je getroffen bent.