Podatność w mechanizmie ekstrakcji plików pyfunc w MLflow pozwala atakującemu na zapis dowolnych plików poza docelowym katalogiem poprzez specjalnie spreparowane archiwum tar.gz. W środowiskach wielodostępnych lub przy przetwarzaniu niezaufanych artefaktów może prowadzić do nadpisania krytycznych plików i zdalnego wykonania kodu (RCE).
▸ Pokaż oryginał (EN)
A vulnerability in MLflow's pyfunc extraction process allows for arbitrary file writes due to improper handling of tar archive entries. Specifically, the use of `tarfile.extractall` without path validation enables crafted tar.gz files containing `..` or absolute paths to escape the intended extraction directory. This issue affects the latest version of MLflow and poses a high/critical risk in scenarios involving multi-tenant environments or ingestion of untrusted artifacts, as it can lead to arbitrary file overwrites and potential remote code execution.
Podatność wynika z użycia funkcji `tarfile.extractall` bez walidacji ścieżek zawartych w archiwum. Atakujący może przygotować archiwum tar.gz zawierające wpisy ze ścieżkami zawierającymi sekwencje `..` (path traversal) lub ścieżki bezwzględne. Podczas ekstrakcji MLflow nie weryfikuje, czy wynikowe ścieżki wykraczają poza zamierzony katalog docelowy, co umożliwia zapis plików w dowolnym miejscu systemu plików dostępnym dla procesu.
Atakujący może nadpisać dowolne pliki w systemie, do których ma dostęp proces MLflow, co w konsekwencji może prowadzić do wykonania złośliwego kodu (RCE), przejęcia kontroli nad serwerem lub eskalacji uprawnień.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Jako środek doraźny zaleca się ograniczenie przetwarzania artefaktów wyłącznie do zaufanych źródeł oraz izolację procesów MLflow w środowiskach wielodostępnych.
Najnowsza wersja MLflow (Lfprojects MLflow) — zgodnie z opisem podatność dotyczy aktualnej wersji produktu; szczegółowe wersje wskazane w referencjach producenta.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NLfprojects Mlflow
APPLfprojects≤ 3.10.1
Powiązane podatności
MLflow: nieautoryzowany dostęp do endpointów multipart upload (RCE)
MLflow: nieprawidłowa walidacja origin umożliwia RCE przez cross-origin request
Brak uwierzytelnienia w endpointach FastAPI jobs w MLflow (Auth Bypass / RCE)
Command injection w MLflow podczas inicjalizacji kontenera modelu
Path traversal w MLflow — nadpisanie plików i eskalacja uprawnień