Biblioteka Huggingface Transformers jest podatna na wykonanie dowolnego kodu (RCE) poprzez niebezpieczną deserializację niezaufanych danych w funkcji `load_repo_checkpoint()`. Podatność jest krytyczna, ponieważ atakujący może wykonać dowolny kod na maszynie ofiary bez konieczności posiadania uprawnień, a wystarczy nakłonić użytkownika do załadowania spreparowanego checkpointu.
▸ Pokaż oryginał (EN)
The huggingface/transformers library is vulnerable to arbitrary code execution through deserialization of untrusted data within the `load_repo_checkpoint()` function of the `TFPreTrainedModel()` class. Attackers can execute arbitrary code and commands by crafting a malicious serialized payload, exploiting the use of `pickle.load()` on data from potentially untrusted sources. This vulnerability allows for remote code execution (RCE) by deceiving victims into loading a seemingly harmless checkpoint during a normal training process, thereby enabling attackers to execute arbitrary code on the targeted machine.
Podatność wynika z użycia funkcji `pickle.load()` w metodzie `load_repo_checkpoint()` klasy `TFPreTrainedModel` do deserializacji danych pochodzących z potencjalnie niezaufanych źródeł. Atakujący przygotowuje złośliwy, zserializowany payload i umieszcza go w pliku checkpointu wyglądającym jak normalny zapis stanu modelu. Gdy ofiara załaduje taki checkpoint podczas standardowego procesu trenowania modelu, osadzony payload jest deserializowany i wykonany przez interpreter Pythona z uprawnieniami procesu ofiary.
Atakujący może wykonać dowolny kod i polecenia systemowe na maszynie ofiary (RCE), co w konsekwencji może prowadzić do pełnego przejęcia kontroli nad systemem, kradzieży danych lub instalacji złośliwego oprogramowania.
Należy zaktualizować bibliotekę Huggingface Transformers do wersji zawierającej commit naprawczy 693667b8ac8138b83f8adb6522ddaf42fa07c125. Dodatkowo zaleca się ładowanie checkpointów wyłącznie z zaufanych i zweryfikowanych źródeł oraz unikanie deserializacji danych nieznanego pochodzenia.
Biblioteka Huggingface Transformers — konkretne podatne wersje wskazane w referencjach producenta (commit naprawczy: 693667b8ac8138b83f8adb6522ddaf42fa07c125)
Podatność wymaga interakcji użytkownika (UI:R) — ofiara musi załadować złośliwy checkpoint. Wektor sieciowy (AV:N) w połączeniu z brakiem wymaganych uprawnień (PR:N) czyni ją szczególnie niebezpieczną w środowiskach współdzielenia modeli ML, takich jak Hugging Face Hub. Zgłoszenie pochodzi z platformy huntr.com.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:HHuggingface Transformers
APPHuggingface< 4.38.0
Powiązane podatności
RCE w Huggingface Transformers — obejście trust_remote_code w LightGlue
A critical remote code execution vulnerability exists in all versions of the HuggingFace transformers library ...
A vulnerability in the HuggingFace Transformers library, specifically in the `Trainer` class, allows for arbit...
Hugging Face Transformers SEW convert_config Code Injection Remote Code Execution Vulnerability. This vulnerab...
Hugging Face Transformers Transformer-XL Model Deserialization of Untrusted Data Remote Code Execution Vulnera...