CVE-2026-7669
ŚrednieCVSS 5.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 31 - wyżej niż 31% wszystkich znanych CVE
Streszczenie
W sgl-project SGLang do wersji 0.5.9 funkcja get_tokenizer w pliku hf_transformers_utils.py komponentu HuggingFace Transformer Handler, przy przekazaniu trust_remote_code=False, może po cichu ponownie wywołać AutoTokenizer.from_pretrained z trust_remote_code=True, jeśli transformers v5 zwróci TokenizersBackend. Może to prowadzić do wykonania dowolnego kodu Python złośliwego tokenizera.py z repozytorium modelu. Podatność dotyczy wszystkich wersji SGLang z powodu przypięcia transformers==5.3.0.
Ocena ryzyka
Atakujący może dostarczyć złośliwe repozytorium modelu, które zostanie wykonane w procesie SGLang mimo jawnego ustawienia bezpieczeństwa, prowadząc do zdalnego wykonania kodu. Może to skutkować pełnym przejęciem systemu.
Rekomendacja
Zaktualizuj SGLang do wersji zawierającej poprawkę lub unikaj używania niezaufanych repozytoriów modeli. Rozważ przypięcie transformers do wersji bez podatności i monitoruj logi pod kątem nieoczekiwanego wykonania kodu.
Inne podatności w SGLang
Zobacz wszystkie- CVE-2026-112270Średnie
SGLang do wersji 0.5.22 z backendem Mooncake disaggregation zawiera podatność polegającą na niekontrolowanej alokacji pamięci w funkcji handle_staging_rsp(). Nieuwierzytelniony atakujący z sąsiedztwa sieciowego może wyczerpać pamięć Prefill, wysyłając komunikaty STAGING_RSP z ogromnymi wartościami chunk_idx.
- CVE-2026-112266Średnie
SGLang do wersji 0.5.22 zawiera lukę odmowy usługi, która pozwala klientom API przerywać żądania generowania innych użytkowników w toku, podając krótki rid kontrolowany przez klienta. Atakujący mogą wysyłać strumieniowe żądania /generate z rid będącymi pojedynczymi znakami hex i rozłączać się, wyzwalając logikę dopasowania prefiksu, która kończy żądania wszystkich innych klientów.
- CVE-2026-111392Średnie
SGLang do wersji 0.5.21 ufa wartościom mm_hashes dostarczonym przez wywołującego jako kluczowi multimodalnego cache prefiksu, co pozwala zdalnym atakującym zatruć wpisy KV w pamięci podręcznej między żądaniami. Atakujący może wysłać inny obraz pod znanym lub przewidywalnym hashem przez /generate, aby ujawnić treść obrazu z innego żądania lub uszkodzić odpowiedzi ofiar.
- CVE-2026-111391Wysokie
SGLang w wersjach od 0.5.10 do 0.5.22 zawiera podatność na wstrzyknięcie kodu w funkcji _evaluate_filter(), która pozwala zdalnym atakującym na wykonanie kodu Pythona poprzez ucieczkę z piaskownicy eval() przez re.search __globals__. Atakujący może wysłać spreparowane wyrażenie filtra do nieuwierzytelnionego punktu końcowego /dumper/configure, gdy ustawiono DUMPER_SERVER_PORT, uruchamiając kod w procesie schedulera przy następnym przebiegu forward.
- CVE-2026-102634Wysokie
SGLang do wersji 0.5.20 w trybie prefill/decode disaggregation nie waliduje zduplikowanych pól bootstrap_room w żądaniach /generate z backendem transferu Mooncake KV. Nieuwierzytelnieni atakujący mogą wysyłać równoczesne żądania z identycznymi wartościami bootstrap_room, co może spowodować awarię procesów schedulera lub zawieszenie żądań innych użytkowników do czasu timeoutu transferu.
- CVE-2026-93034Krytyczne
SGLang zawiera podatność umożliwiającą zdalne wykonanie kodu, spowodowaną bezwarunkową deserializacją ładunków PickleWrapper przez dekoder wiadomości ZMQ za pomocą pickle.loads() w funkcji _maybe_unwrap_pickle, bez listy dozwolonych typów ani uwierzytelniania. Podatność utrzymuje się również na ścieżce msgpack nawet przy wyłączonym SGLANG_USE_PICKLE_IPC i staje się zdalnie wykorzystywalna, gdy włączona jest uwaga równoległa danych z ustawieniem --dist-init-addr innym niż loopback.
- CVE-2026-93088Krytyczne
Środowisko uruchomieniowe generowania multimodalnego SGLang jest podatne na nieuwierzytelnione wykonanie dowolnego kodu, ponieważ orchestrator disaggregated-diffusion wiąże nieuwierzytelniony gniazdo ZeroMQ ROUTER z interfejsem sieciowym i przekazuje ostatnią ramkę odebranych wiadomości wieloczęściowych bezpośrednio do pickle.loads() przed jakąkolwiek walidacją.
- CVE-2026-86793Krytyczne
SGLang pozwala na nieuwierzytelnioną deserializację pickle poprzez /update_weights_from_tensor, gdy nie skonfigurowano kluczy uwierzytelniających, a politykę SafeUnpickler można obejść, ponieważ builtins.import i builtins.getattr są rozwiązywalne, co umożliwia wykonanie kodu poprzez pickle REDUCE.
- CVE-2026-15976Krytyczne
SGLang zawiera podatność zdalnego wykonania kodu (RCE) podczas próby załadowania wag modelu z repozytorium HuggingFace. W punkcie końcowym /update_weights_from_disk funkcja torch.load z parametrem weights_only=False umożliwia deserializację pickle plików .bin.
- CVE-2026-15971Krytyczne
SGLang zawiera podatność zdalnego wykonania kodu (RCE) w opcjonalnym podsystemie dumper. Gdy zmienna DUMPER_SERVER_PORT jest ustawiona, możliwa jest ucieczka z piaskownicy, co umożliwia wykonanie kodu na żądaniach inferencyjnych.
Oryginalny opis (angielski, źródło NVD)
A vulnerability was detected in sgl-project SGLang up to 0.5.9. Impacted is the function get_tokenizer of the file python/sglang/srt/utils/hf_transformers_utils.py of the component HuggingFace Transformer Handler. The manipulation of the argument trust_remote_code with the input False as part of Boolean results in code injection. The attack can be executed remotely. A high complexity level is associated with this attack. The exploitability is considered difficult. In get_tokenizer(), when the caller passes trust_remote_code=False and HuggingFace transformers v5 returns a TokenizersBackend instance (the generic fallback for tokenizer classes not in the registry), SGLang silently re-invokes AutoTokenizer.from_pretrained with trust_remote_code=True, overriding the caller's explicit security setting. A model repository containing a malicious tokenizer.py referenced via auto_map in tokenizer_config.json will execute arbitrary Python in the SGLang process during this second call. No log line or warning is emitted. The override affects all current SGLang versions because transformers==5.3.0 is pinned in pyproject.toml. Both tokenizer_mode="auto" and tokenizer_mode="slow" are affected. The exploit is now public and may be used. The vendor was contacted early about this disclosure but did not respond in any way.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

