CVE-2025-14287
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 71 - wyżej niż 71% wszystkich znanych CVE
Streszczenie
W mlflow/mlflow przed wersją 3.7.0 wykryto podatność na wstrzykiwanie poleceń w pliku `mlflow/sagemaker/__init__.py`. Atakujący może dostarczyć złośliwą nazwę obrazu kontenera przez parametr `--container`, która jest bezpośrednio interpolowana do poleceń powłoki wykonywanych przez `os.system()`, co umożliwia wykonanie dowolnych poleceń.
Ocena ryzyka
Ryzyko obejmuje przejęcie kontroli nad środowiskami MLflow, takimi jak konfiguracje deweloperskie, potoki CI/CD oraz wdrożenia w chmurze, co może prowadzić do kradzieży danych, modyfikacji modeli lub dalszego ataku na infrastrukturę.
Rekomendacja
Należy natychmiast zaktualizować mlflow do wersji 3.7.0 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do parametru `--container` i zastosować walidację danych wejściowych.
Inne podatności w MLflow
Zobacz wszystkie- CVE-2026-2393Wysokie
W wersjach MLflow przed 3.9.0 występuje podatność typu Server-Side Request Forgery (SSRF). Funkcja `_create_webhook()` akceptuje parametr `url` kontrolowany przez użytkownika bez walidacji, co pozwala atakującemu na wymuszenie wysyłania żądań HTTP do wewnętrznych usług lub zewnętrznych serwerów.
- CVE-2026-64849KrytyczneAktywnie exploitowane
MLflow to platforma AI o otwartym kodzie źródłowym. Przed wersją 3.15.0, nieuwierzytelniony endpoint POST /api/2.0/mlflow/webhooks/{id}/test wywołuje _validate_webhook_url() w mlflow/utils/validation.py tylko dla oryginalnego URL, podczas gdy mlflow/webhooks/delivery.py podąża za przekierowaniami i ponownie rozwiązuje nazwę hosta bez przypinania zweryfikowanego adresu, co pozwala atakującym na dotarcie do wewnętrznych usług lub usług metadanych chmury i otrzymanie response_status i response_body. Problem został naprawiony w wersji 3.15.0.
- CVE-2026-2651Krytyczne
Podatność w MLflow w wersjach do 3.10.1.dev0 umożliwia nieautoryzowany dostęp do endpointów przesyłania wieloczęściowego (MPU) przy włączonym trybie `--serve-artifacts`. Logika autoryzacji nie wymusza sprawdzania uprawnień na poziomie zasobów dla endpointów `/mlflow-artifacts/mpu/*`, co pozwala atakującym nadpisywać artefakty innych użytkowników. Może to prowadzić do nieautoryzowanego zapisu między użytkownikami, zatrucia łańcucha dostaw modeli oraz zdalnego wykonania kodu po załadowaniu skompromitowanych modeli.
- CVE-2026-2611Krytyczne
W MLflow w wersji 3.9.0 funkcja Asystenta MLflow zawiera podatność polegającą na nieprawidłowej walidacji pochodzenia żądań w punktach końcowych /ajax-api. Umożliwia to zdalnemu atakującemu wykorzystanie żądań międzyoriginowych ze złośliwej strony internetowej do interakcji z Asystentem MLflow działającym na lokalnym komputerze ofiary.
- CVE-2026-0545Krytyczne
W mlflow/mlflow endpointy FastAPI dla zadań pod `/ajax-api/3.0/jobs/*` nie są chronione uwierzytelnianiem ani autoryzacją, gdy włączona jest aplikacja `basic-auth`. Nawet jeśli włączono uwierzytelnianie podstawowe, każdy klient sieciowy może bez poświadczeń przesyłać, odczytywać, wyszukiwać i anulować zadania.
- CVE-2025-15379Krytyczne
W MLflow w wersji 3.8.0 wykryto podatność na wstrzykiwanie poleceń w kodzie inicjalizującym kontener serwowania modeli. Funkcja `_install_model_dependencies_to_env()` bezpośrednio interpoluje zależności z pliku `python_env.yaml` do polecenia powłoki bez sanityzacji, co umożliwia atakującemu wykonanie dowolnych poleceń poprzez dostarczenie złośliwego artefaktu modelu.
- CVE-2025-15036Krytyczne
W bibliotece mlflow przed wersją 3.7.0 wykryto podatność na ścieżkę przejścia (path traversal) w funkcji `extract_archive_to_dir`. Brak walidacji ścieżek wewnątrz archiwum tar pozwala atakującemu na nadpisanie dowolnych plików lub eskalację uprawnień.
- CVE-2025-15031Krytyczne
Podatność w procesie ekstrakcji pyfunc w MLflow umożliwia zapis dowolnych plików z powodu nieprawidłowego obsługiwania wpisów archiwum tar. Użycie `tarfile.extractall` bez walidacji ścieżki pozwala spreparowanym plikom tar.gz zawierającym `..` lub ścieżki absolutne na opuszczenie docelowego katalogu ekstrakcji.
- CVE-2026-69148Wysokie
MLflow przed wersją 3.15.0 zawiera podatność, która pozwala uwierzytelnionym użytkownikom na utworzenie wersji modelu odwołującej się do katalogu artefaktów innego użytkownika i odczytanie plików bez wymaganego uprawnienia READ.
- CVE-2026-69146Średnie
MLflow to platforma AI typu open source. W wersjach od 3.13.0 do 3.15.0 brakuje LogInputs w BEFORE_REQUEST_HANDLERS w pakiecie mlflow/server/auth, co pozwala każdemu uwierzytelnionemu użytkownikowi na wywołanie POST /api/2.0/mlflow/runs/log-inputs dla cudzego run_id i wstrzyknięcie rekordów DatasetInput do metadanych lineage dataset_inputs bez uprawnienia UPDATE. Problem naprawiono w wersji 3.15.0.
Oryginalny opis (angielski, źródło NVD)
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.

