CVE-2026-93838
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 39 - wyżej niż 39% wszystkich znanych CVE
Streszczenie
SGLang w wersjach do 0.5.20 zawiera podatność na nieograniczoną alokację pamięci w funkcji handle_staging_req(), która nie waliduje wartości chunk_idx z ramek ZMQ STAGING_REQ w środowiskach z rozdzielonym prefill/decode. Atakujący z dostępem do wewnętrznego portu ZMQ silnika decode może wysłać ramkę z bardzo dużą wartością chunk_idx, powodując alokację pamięci aż do wyczerpania zasobów systemu i zakończenia procesu.
Ocena ryzyka
Ryzyko polega na możliwości zdalnego wyczerpania pamięci systemu, co prowadzi do przerwania działania usługi (Denial of Service) i potencjalnej niedostępności systemu dla użytkowników.
Rekomendacja
Zaleca się natychmiastową aktualizację SGLang do wersji nowszej niż 0.5.20, jeśli dostępna, oraz ograniczenie dostępu do wewnętrznych portów ZMQ tylko do zaufanych hostów.
Inne podatności w SGLang
Zobacz wszystkie- CVE-2026-94570Średnie
SGLang zawiera podatność na atak DoS spowodowaną brakiem walidacji danych wejściowych dla komunikatów kontrolnych AUX_DATA ZeroMQ w workerze Decode. Umożliwia to nieuwierzytelnionemu zdalnemu atakującemu z dostępem sieciowym do gniazda PULL kontroli Decode zakończenie wątku kontroli Decode i spowodowanie odmowy usługi na docelowym serwerze.
- 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.
- CVE-2026-15969Krytyczne
SGLang zawiera podatność zdalnego wykonania kodu (RCE) bez uwierzytelniania w punkcie końcowym /load_lora_adapter_from_tensors. Podatność wynika z obejścia niekompletnej listy blokad SafeUnpicklera, co umożliwia wykonanie dowolnych poleceń poprzez spreparowane ładunki pickle zakodowane w base64.
- CVE-2026-14890Krytyczne
Podatność w SGLang dotyczy podsystemu kopii zapasowej ekspertów równoległych, który udostępnia gniazdo ZeroMQ PULL na routowalnym interfejsie sieciowym bez uwierzytelniania ani zabezpieczeń deserializacji. Umożliwia to atakującemu dostarczenie złośliwego pliku pickle, prowadząc do nieuwierzytelnionego zdalnego wykonania kodu, gdy funkcja jest włączona, a usługa jest osiągalna przez sieć.
- CVE-2026-93688Wysokie
SGLang w wersji do 0.5.19, w trybie rozdzielenia prefill/decode z backendem transferu KV Mooncake, nie waliduje wartości bootstrap_room, co pozwala na nieograniczoną alokację stanu transferu. Nieuwierzytelniony atakujący może wywołać endpoint POST /generate silnika decode i przesłać dowolne wartości bootstrap_room, wyczerpując pamięć procesu prefill aż do zakończenia z powodu braku pamięci.
- CVE-2026-92972Wysokie
SGLang do wersji 0.5.19 w trybie rozdzielenia prefill/decode zawiera nieuwierzytelniony endpoint PUT /route w usłudze prefill bootstrap, który pozwala atakującym zatruć tablicę routingu transferu KV. Atakujący mogą podać dowolne wartości rank_ip i rank_port, aby przekierować workery decode do kontrolowanych przez siebie endpointów. Może to powodować odmowę usługi lub ujawnienie metadanych transferu KV, w tym identyfikatorów sesji i parametrów topologii tensor-parallel.
- CVE-2026-15978Wysokie
SGLang zawiera podatność na eksfiltrację wag modelu, gdy nie skonfigurowano kluczy API. SGLang udostępnia dwa endpointy, które pozwalają zdalnemu atakującemu na wywołanie rozgłaszania wag za pomocą NCCL, a następnie transfer danych, co umożliwia eksfiltrację wszystkich wag modelu.
Oryginalny opis (angielski, źródło NVD)
SGLang versions through 0.5.20 contain an unbounded memory allocation vulnerability in handle_staging_req() that fails to validate chunk_idx from ZMQ STAGING_REQ frames in prefill/decode disaggregation deployments. Attackers with access to the decode engine's internal ZMQ rank port can send a frame with an extremely large chunk_idx value, causing the scheduler to allocate memory until the system runs out and terminates the process.

