CVE-2026-112267
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
SGLang do wersji 0.5.22 w trybie disagregacji prefill/decode zawiera lukę server-side request forgery, która pozwala nieuwierzytelnionym atakującym wywołać wychodzące żądania poprzez pola bootstrap_host i bootstrap_port dostarczone przez klienta. Atakujący wysyłający spreparowane żądania do endpointu /generate workera Decode mogą sondować wewnętrzne hosty i porty oraz blokować współdzieloną pętlę schedulera, opóźniając inne żądania wnioskowania.
Ocena ryzyka
Atakujący może wykorzystać serwer jako proxy do sondowania sieci wewnętrznej i opóźniać lub blokować wnioskowanie dla innych użytkowników. Może to prowadzić do ujawnienia informacji o infrastrukturze i odmowy usługi.
Rekomendacja
Zaktualizować SGLang do wersji nowszej niż 0.5.22. Do czasu poprawki ograniczyć dostęp do endpointu /generate oraz walidować lub blokować pola bootstrap_host i bootstrap_port na poziomie proxy.
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)
SGLang through 0.5.22 in prefill/decode disaggregation mode contains a server-side request forgery vulnerability that allows unauthenticated attackers to trigger outbound requests via client-supplied bootstrap_host and bootstrap_port fields. Attackers sending crafted requests to the Decode worker's /generate endpoint can probe internal hosts and ports and block the shared scheduler loop, delaying other inference requests.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

