Podatność w bibliotece Hugging Face smolagents umożliwia zdalnym atakującym wykonanie dowolnego kodu bez uwierzytelnienia. Wynika z braku walidacji danych wejściowych podczas deserializacji formatu pickle, co czyni ją wyjątkowo groźną dla każdej instalacji tego oprogramowania.
▸ Pokaż oryginał (EN)
Hugging Face smolagents Remote Python Executor Deserialization of Untrusted Data Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of Hugging Face smolagents. Authentication is not required to exploit this vulnerability. The specific flaw exists within the parsing of pickle data. The issue results from the lack of proper validation of user-supplied data, which can result in deserialization of untrusted data. An attacker can leverage this vulnerability to execute code in the context of the service account. Was ZDI-CAN-28312.
Luka istnieje w mechanizmie parsowania danych w formacie pickle przez zdalny executor kodu Python. Aplikacja nie przeprowadza odpowiedniej walidacji danych dostarczanych przez użytkownika przed ich deserializacją (CWE-502). Atakujący może przesłać spreparowany payload w formacie pickle do podatnego endpointu, co skutkuje wykonaniem osadzonego w nim kodu. Do przeprowadzenia ataku nie jest wymagane żadne uwierzytelnienie.
Atakujący uzyskuje możliwość wykonania dowolnego kodu w kontekście konta serwisowego, pod którym działa aplikacja. W praktyce może to prowadzić do pełnego przejęcia kontroli nad systemem, wycieku danych oraz dalszego ruchu wewnątrz sieci (lateral movement).
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dodatkowo zaleca się ograniczenie dostępu sieciowego do usługi oraz monitorowanie prób przesyłania nieoczekiwanych danych do endpointów przetwarzających dane pickle.
Hugging Face smolagents — wersje wskazane w referencjach producenta
Podatność została zidentyfikowana przez Zero Day Initiative jako ZDI-CAN-28312 i opublikowana jako ZDI-25-1143. CVSS wynosi 10.0 (maksymalny), wektor wskazuje na atak sieciowy bez wymagań dotyczących uwierzytelnienia, interakcji użytkownika ani złożoności ataku.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H