PyTorch Lightning do wersji 2.6.5 zawiera podatność umożliwiającą zdalne wykonanie kodu (RCE) podczas ładowania pliku checkpoint. Atakujący może spreparować złośliwy plik checkpoint, który po załadowaniu przez ofiarę wykonuje dowolny kod na jej maszynie.
▸ Pokaż oryginał (EN)
PyTorch Lightning through 2.6.5, fixed in commit d710d68, contains a remote code execution vulnerability in the _load_state function that imports and executes attacker-controlled module names from checkpoint _instantiator hyperparameters. Attackers can craft malicious checkpoint files that bypass weights_only=True protections to execute arbitrary code when LightningModule.load_from_checkpoint is called.
Podatność znajduje się w funkcji _load_state, która importuje i wykonuje nazwy modułów kontrolowane przez atakującego, odczytane z parametrów hyperparameters sekcji _instantiator pliku checkpoint. Spreparowany plik checkpoint pozwala ominąć zabezpieczenie weights_only=True, które miało chronić przed wykonaniem niezaufanego kodu. Podatność jest wyzwalana w momencie wywołania metody LightningModule.load_from_checkpoint przez użytkownika, który otwiera złośliwy plik. Mechanizm ten odpowiada klasie CWE-470 (Use of Externally-Controlled Input to Select Classes or Code).
Atakujący może doprowadzić do wykonania dowolnego kodu na maszynie ofiary z uprawnieniami procesu ładującego checkpoint, co może skutkować pełnym przejęciem systemu, kradzieżą danych lub instalacją złośliwego oprogramowania.
Należy zaktualizować PyTorch Lightning do wersji zawierającej commit d710d689510d50e800f53b3cd773cbca20b1f86f lub nowszej. Do czasu aktualizacji należy unikać ładowania plików checkpoint pochodzących z niezaufanych lub nieznanych źródeł. Patche dostępne są w repozytorium producenta zgodnie z podanymi referencjami.
PyTorch Lightning w wersjach do 2.6.5 włącznie. Problem został naprawiony w commicie d710d68.
Podatność dotyczy środowisk uczenia maszynowego, w których pliki checkpoint są często wymieniane między użytkownikami lub pobierane z zewnętrznych repozytoriów (np. Hugging Face, GitHub). Szczególnie narażone są środowiska badawcze i produkcyjne korzystające z modeli trenowanych przez strony trzecie.
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XLightningai Pytorch Lightning
APPLightningai≤ 2.6.5
Powiązane podatności
PyTorch Lightning – mechanizm harvesting poświadczeń (Embedded Malicious Code)
RCE przez upload pliku w PyTorch Lightning (Windows) – CVE-2024-8019
Path Traversal w PyTorch Lightning umożliwiający RCE przez złośliwy plugin
RCE w pytorch-lightning przez podatną deserializację obiektów deepdiff
Code Injection w PyTorch Lightning przed wersją 1.6.0