CVE-2026-73559
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 46 - wyżej niż 46% wszystkich znanych CVE
Streszczenie
vLLM to silnik wnioskowania i serwowania dla dużych modeli językowych. Od wersji 0.19.0 do 0.26.0 pole prompt w CompletionRequest w /v1/completions akceptuje nieograniczoną listę stringów lub list intów, a funkcje prompt_to_seq() i OnlineRenderer.preprocess_completion() rozwijają każdy element, co powoduje, że serwer tworzy osobny generator i slot odpowiedzi dla każdego promptu. Uwierzytelniony klient API może wyczerpać CPU, pamięć, zdolności planowania asynchronicznego, sloty żądań silnika i buforowanie odpowiedzi jednym żądaniem. Problem naprawiono w wersji 0.26.0.
Ocena ryzyka
Ryzyko polega na możliwości przeprowadzenia ataku DoS przez uwierzytelnionego użytkownika, co może prowadzić do niedostępności usługi dla innych użytkowników.
Rekomendacja
Zaleca się aktualizację vLLM do wersji 0.26.0 lub nowszej, która zawiera poprawkę ograniczającą liczbę promptów.
Inne podatności w vLLM
Zobacz wszystkie- CVE-2026-109311Średnie
vLLM przed 0.29.0 przekazuje przesłane audio do fallbacku PyAV/FFmpeg av.open() tylko z kontrolą rozmiaru pliku, narażając parser IAMF FFmpeg na przepełnienie sterty. Uwierzytelnieni zdalni atakujący mogą wielokrotnie przesyłać uszkodzone kontenery IAMF do /v1/audio/transcriptions, uszkadzając stertę i powodując awarię procesu API.
- 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-105922Średnie
W projekcie vllm-project vLLM do wersji 0.31.0 odkryto lukę bezpieczeństwa w funkcji get_token_bin_counts_and_mask pliku vllm/model_executor/layers/utils.py komponentu Penalty Handler. Manipulacja prowadzi do odmowy usługi (DoS). Atak może być przeprowadzony zdalnie, a exploit został opublikowany.
- CVE-2026-105775Średnie
Podatność w vllm-project vLLM do wersji 0.31.0 powoduje odczyt poza zakresem w funkcji conv_ssm_forward w pliku mamba_mixer2.py, w komponencie Completions Request Handler. Atak może być przeprowadzony zdalnie, a exploit został publicznie ujawniony.
- CVE-2026-105760Średnie
W vLLM przed wersją 0.30.0, wywołujący może użyć pola media_io_kwargs do wybrania backendu wideo GLMGA i podać duże wartości fps i max_frames bez ścisłego limitu pracy, co prowadzi do nadmiernego zużycia CPU i pamięci.
- CVE-2026-105759Średnie
W vLLM przed wersją 0.30.0, middleware track_http_metrics w Rust frontendzie rejestruje surowy token metody HTTP jako etykietę Prometheus dla żądań do zarejestrowanych tras, co pozwala nieuwierzytelnionemu atakującemu na tworzenie unikalnych etykiet i zwiększanie zużycia pamięci.
- CVE-2026-105758Średnie
W vLLM od wersji 0.24.0 do 0.30.0, klasy Qwen2VLVideoBackend i Qwen3VLVideoBackend akceptują wartości max_frames i fps z żądania bez narzucania limitów serwerowych, co pozwala nieuwierzytelnionemu wywołującemu na dekodowanie każdej klatki z kontrolowanego wideo i zużywanie nadmiernej pamięci.
- CVE-2026-105757Średnie
W vLLM przed wersją 0.30.0, błędy w żądaniach z ograniczeniami struktury mogą uciec z walidacji i trafić do ścieżki błędu krytycznego EngineCore, co pozwala zwykłym żądaniom z ograniczeniami na przerwanie działania współdzielonego silnika.
- CVE-2026-105756Średnie
W vLLM przed wersją 0.30.0, modele żądań zgodne z OpenAI akceptują niepustą wartość cache_salt bez egzekwowania ograniczeń znaków i długości wymaganych przez IPCCacheServerKey w LMCache-MP, co może prowadzić do nieobsłużonego ValueError i przerwania działania EngineCore.
Oryginalny opis (angielski, źródło NVD)
vLLM is an inference and serving engine for large language models. From 0.19.0 until 0.26.0, the /v1/completions CompletionRequest.prompt field in vllm/entrypoints/openai/completion/protocol.py accepts an unbounded list[str] or list[list[int]], prompt_to_seq() in vllm/renderers/inputs/preprocess.py and OnlineRenderer.preprocess_completion() in vllm/renderers/online_renderer.py expand every element, and vllm/entrypoints/openai/completion/serving.py creates one engine generator and response slot per prompt, allowing an authenticated API client to exhaust CPU, memory, async scheduling capacity, engine request slots, and response buffering with one request. This issue is fixed in version 0.26.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

