CVE-2026-80047
NieznaneStreszczenie
Podatność w Hugging Face Transformers (wersje 4.49.0 do 5.8.1) pozwala na zapis zdalnych plików Python na lokalnym dysku bez zgody użytkownika podczas korzystania z GenerativePreTrainedModel.load_custom_generate(). Funkcja pobiera i buforuje zdalny plik modułu przed wykonaniem wymaganego sprawdzenia trust_remote_code, odwracając model bezpieczeństwa stosowany w innych ścieżkach ładowania kodu. W rezultacie kod kontrolowany przez atakującego z custom_generate/generate.py jest kopiowany do katalogu ~/.cache/huggingface/modules nawet jeśli użytkownik odrzuci monit o zaufanie.
Ocena ryzyka
Atakujący może pozostawić trwałe, nieautoryzowane pliki na dysku użytkownika, a buforowane złośliwe pliki mogą zostać później wykonane podczas zaufanego ładowania modelu, co stwarza ryzyko długotrwałej kompromitacji.
Rekomendacja
Zaktualizuj bibliotekę Hugging Face Transformers do wersji, która naprawia tę podatność, lub unikaj używania load_custom_generate() do czasu wydania poprawki.
Inne podatności w Hugging Face Transformers
Zobacz wszystkie- CVE-2026-75104Średnie
Hugging Face Transformers nie waliduje nazw plików shardów w plikach indeksu checkpointów, co pozwala atakującym czytać dowolne pliki poza katalogiem modelu. Atakujący mogą dostarczyć złośliwe pliki indeksu z odniesieniami do katalogów nadrzędnych lub ścieżkami bezwzględnymi, co umożliwia ujawnienie plików i rozpoznanie systemu plików.
- CVE-2026-9856Wysokie
Hugging Face Transformers do wersji 5.8.0.dev0 zawiera podatność na zapis dowolnych plików przez path traversal w metodach save_pretrained(). Klucze z chat_template są używane jako nazwy plików bez walidacji.
Oryginalny opis (angielski, źródło NVD)
A vulnerability in Hugging Face Transformers (versions 4.49.0, <= 5.8.1) allows remote Python files to be written to local disk without user consent when using GenerativePreTrainedModel.load_custom_generate(). The function fetches and caches a remote module file before performing the required trust_remote_code consent check, inverting the security model enforced by other code-loading paths (such as AutoConfig, AutoModel, and AutoTokenizer). As a result, attacker‑controlled Python code from custom_generate/generate.py is copied into the user’s ~/.cache/huggingface/modules directory even if the user declines the trust prompt. Although execution is correctly gated, the file write is not reversible and can persist across sessions. This can lead to persistent, unauthorized files on disk and stale cache collisions where cached attacker code may later be executed during trusted model loads. The issue stems from an unconditional file write in dynamic_module_utils.py prior to any trust verification.

