CVE-2025-62372
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 31 - wyżej niż 31% wszystkich znanych CVE
Streszczenie
vLLM, silnik wnioskowania dla dużych modeli językowych, w wersjach od 0.5.5 do przed 0.11.1 pozwala użytkownikom na zawieszenie silnika obsługującego modele multimodalne poprzez podanie wejść osadzania o poprawnej liczbie wymiarów, ale nieprawidłowym kształcie. Problem naprawiono w wersji 0.11.1.
Ocena ryzyka
Atakujący może zdalnie spowodować awarię usługi vLLM, prowadząc do odmowy świadczenia usługi (DoS) dla aplikacji korzystających z modeli multimodalnych. Może to zakłócić działanie systemów produkcyjnych.
Rekomendacja
Zaktualizuj vLLM do wersji 0.11.1 lub nowszej. Do czasu aktualizacji rozważ ograniczenie dostępu do API i monitorowanie nietypowych żądań.
Inne podatności w vLLM
Zobacz wszystkie- CVE-2026-48746Krytyczne
Podatność w vLLM w wersjach od 0.3.0 do 0.22.0 pozwala na obejście uwierzytelniania API OpenAI AuthenticationMiddleware. Atakujący może korzystać z API bez podania skonfigurowanego klucza VLLM_API_KEY lub --api-key.
- CVE-2026-22778Krytyczne
Podatność w vLLM od wersji 0.8.3 do 0.14.0 pozwala na wyciek adresu sterty poprzez wysłanie nieprawidłowego obrazu do endpointu multimodalnego. Wyciek ten redukuje skuteczność ASLR z 4 miliardów do około 8 prób, co ułatwia przeprowadzenie ataku.
- CVE-2026-115918Średnie
vLLM w wersjach od 0.16.0 do 0.32.0 pozwala uwierzytelnionemu użytkownikowi na umieszczenie kontrolowanego przez atakującego szablonu w chat_template_kwargs[chat_template], gdy nie skonfigurowano szablonu serwera. Funkcja ChatParams.get_apply_chat_template_kwargs() zachowuje tę wartość bez egzekwowania trust_request_chat_template, co pozwala obejść politykę zaufania i spowodować wyczerpanie CPU lub pamięci przez renderowanie Jinja.
- CVE-2026-115917Niskie
vLLM przed wersją 0.32.0 konfiguruje Starlette CORSMiddleware z allowed_origins ustawionym domyślnie na wildcard. Złośliwa strona internetowa może za pośrednictwem przeglądarki ofiary uzyskać dostęp do nieuwierzytelnionego serwera vLLM w localhost, sieci wewnętrznej lub VPN i wywoływać punkty końcowe, zużywając zasoby GPU i odczytując odpowiedzi.
- CVE-2026-115916Średnie
vLLM przed wersją 0.32.0 w pliku vllm/tokenizers/hf.py oblicza max_token_id z błędem off-by-one górnej granicy, pozwalając identyfikatorowi tokenu równego rozmiarowi słownika przejść walidację. Przy rozmiarze tensor-parallel równym jeden i słowniku będącym wielokrotnością 64, VocabParallelEmbedding.forward nie maskuje tej wartości przed użyciem w F.embedding, powodując asercję po stronie urządzenia CUDA i zakończenie silnika.
- CVE-2026-115915Wysokie
vLLM przed wersją 0.32.0 przekazuje bajty obrazów kontrolowane przez atakującego do biblioteki Pillow przez Image.open(BytesIO(data)) bez ograniczenia wyboru dekodera, a etykieta MIME nie ogranicza wybranego formatu. Ścieżki żądań obsługujące obrazy przez parse_image() i fetch_image() mogą skierować ładunek EPS do komponentów hosta, co przy podatnym Ghostscript (CVE-2024-29510) pozwala na wykonanie poleceń z uprawnieniami procesu vLLM, a przy Pillow 12.0.0–12.2.0 może wyczerpać wątki ładowania mediów.
- CVE-2026-115914Średnie
vLLM w wersjach od 0.11.1 do 0.32.0 w ścieżce obrazów DeepSeek-OCR, DeepSeek-OCR-2 i Unlimited-OCR pozwala zdalnemu klientowi z dostępem do API zgodnego z OpenAI przesłać prawidłowy obraz, którego znormalizowane piksele sumują się do zera, gdy obraz jest sam w partii enkodera. _parse_and_validate_image_input zwraca brak osadzenia, embed_multimodal propaguje tę wartość, a sanity_check_mm_encoder_outputs wyzwala krytyczną asercję, wyłączając silnik dla wszystkich użytkowników.
- CVE-2026-115913Średnie
vLLM to silnik wnioskowania i serwowania dużych modeli językowych. Przed wersją 0.32.0 enkoder audio Phi-4 w plikach phi4mm_audio.py i phi4mm_utils.py domyślnie używa eager attention, co pozwala zdalnemu klientowi przesłać jeden długi klip audio powodujący materializację pełnych macierzy uwagi i kwadratowe zużycie pamięci GPU, prowadząc do wyczerpania pamięci i zakończenia EngineCore dla wszystkich użytkowników.
- CVE-2026-115912Wysokie
W vLLM przed wersją 0.32.0 uwierzytelniony wywołujący może umieścić sfałszowane wartości adresu pamięci współdzielonej i monotonic_id w publicznym polu multimodal features.kwargs_data. W wdrożeniach scale-out z włączonym buforowaniem pamięci współdzielonej workery ufają tym wartościom i przekazują wybrane przez atakującego bajty do pickle.loads(), co pozwala na dowolne wykonanie kodu w Pythonie.
- CVE-2026-115911Średnie
vLLM to silnik wnioskowania i serwowania dużych modeli językowych. Od wersji 0.19.0 do 0.32.0 uwierzytelnieni klienci mogą dostarczyć szablon czatu, gdy nie skonfigurowano serwerowego --chat-template, albo złośliwe repozytorium modelu może dostarczyć szablon kompilowany i renderowany przez tokenizer.apply_chat_template() bez limitu czasu, rozmiaru wyjścia ani liczby iteracji. Renderowanie odbywa się w ThreadPoolExecutor z jednym workerem, więc nieskończone renderowanie może zablokować /v1/responses i innych użytkowników szablonów, a rozszerzające wyjście może wyczerpać pamięć serwera.
Oryginalny opis (angielski, źródło NVD)
vLLM is an inference and serving engine for large language models (LLMs). From version 0.5.5 to before 0.11.1, users can crash the vLLM engine serving multimodal models by passing multimodal embedding inputs with correct ndim but incorrect shape (e.g. hidden dimension is wrong), regardless of whether the model is intended to support such inputs (as defined in the Supported Models page). This issue has been patched in version 0.11.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

