Biblioteka lightning-ai/pytorch-lightning w wersji 2.2.1 jest podatna na zdalne wykonanie kodu (RCE) z powodu nieprawidłowej obsługi deserializowanych danych wejściowych. Atakujący bez żadnego uwierzytelnienia może przejąć pełną kontrolę nad aplikacją hostowaną samodzielnie.
▸ Pokaż oryginał (EN)
A remote code execution (RCE) vulnerability exists in the lightning-ai/pytorch-lightning library version 2.2.1 due to improper handling of deserialized user input and mismanagement of dunder attributes by the `deepdiff` library. The library uses `deepdiff.Delta` objects to modify application state based on frontend actions. However, it is possible to bypass the intended restrictions on modifying dunder attributes, allowing an attacker to construct a serialized delta that passes the deserializer whitelist and contains dunder attributes. When processed, this can be exploited to access other modules, classes, and instances, leading to arbitrary attribute write and total RCE on any self-hosted pytorch-lightning application in its default configuration, as the delta endpoint is enabled by default.
Biblioteka wykorzystuje obiekty `deepdiff.Delta` do modyfikowania stanu aplikacji na podstawie akcji z frontendu. Mechanizm deserializacji posiada whitelist mający ograniczać dozwolone operacje, jednak możliwe jest jego ominięcie poprzez spreparowanie zserializowanego obiektu delta zawierającego atrybuty dunder (np. `__class__`, `__module__`). Biblioteka `deepdiff` nieprawidłowo zarządza takimi atrybutami, co pozwala atakującemu na dostęp do innych modułów, klas i instancji obiektów. W efekcie możliwy jest dowolny zapis atrybutów i osiągnięcie pełnego RCE, a endpoint obsługujący delta jest domyślnie włączony w każdej instalacji.
Atakujący może zdalnie wykonać dowolny kod na serwerze bez żadnego uwierzytelnienia, co prowadzi do pełnego przejęcia kontroli nad aplikacją — utraty poufności, integralności i dostępności systemu.
Należy zastosować patch dostępny w repozytorium producenta (commit 330af381de88cff17515418a341cbc1f9f127f9a na GitHub). Do czasu aktualizacji zaleca się wyłączenie lub ograniczenie dostępu sieciowego do endpointu delta (np. przez firewall lub konfigurację reverse proxy).
lightning-ai/pytorch-lightning w wersji 2.2.1 — wszystkie samodzielnie hostowane aplikacje w domyślnej konfiguracji (delta endpoint włączony domyślnie)
Szczegóły techniczne podatności zostały opublikowane na platformie huntr.com (bug bounty). Podatność dotyczy wyłącznie aplikacji self-hosted — usługi zarządzane przez producenta mogą podlegać oddzielnym mechanizmom ochrony.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLightningai Pytorch Lightning
APPLightningai< 2.3.3
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
Code Injection in GitHub repository pytorchlightning/pytorch-lightning prior to 1.6.0.
PyTorch-Lightning versions 2.6.0 and earlier contain an insecure deserialization vulnerability (CWE-502) in th...