vLLM w wersjach od 0.6.5 do 0.8.5 (bez poprawki) z włączoną integracją mooncake jest podatny na zdalne wykonanie kodu (RCE) z powodu serializacji opartej na pickle przesyłanej przez niezabezpieczone gniazda ZeroMQ. Podatność otrzymała maksymalny wynik CVSS 10.0, co czyni ją ekstremalnie krytyczną.
▸ Pokaż oryginał (EN)
vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Versions starting from 0.6.5 and prior to 0.8.5, having vLLM integration with mooncake, are vulnerable to remote code execution due to using pickle based serialization over unsecured ZeroMQ sockets. The vulnerable sockets were set to listen on all network interfaces, increasing the likelihood that an attacker is able to reach the vulnerable ZeroMQ sockets to carry out an attack. vLLM instances that do not make use of the mooncake integration are not vulnerable. This issue has been patched in version 0.8.5.
Podatna integracja vLLM z mooncake wykorzystuje format pickle do serializacji danych przesyłanych przez gniazda ZeroMQ. Gniazda te są skonfigurowane do nasłuchiwania na wszystkich interfejsach sieciowych, co znacznie zwiększa dostępność ataku z sieci. Ponieważ komunikacja nie jest zabezpieczona uwierzytelnianiem ani szyfrowaniem, nieuwierzytelniony atakujący może wysłać spreparowany payload pickle, który podczas deserializacji spowoduje wykonanie dowolnego kodu na serwerze (CWE-502: Deserialization of Untrusted Data).
Atakujący bez jakiegokolwiek uwierzytelnienia i z dostępem sieciowym do podatnego hosta może uzyskać pełną kontrolę nad serwerem — wykonać dowolny kod, uzyskać dostęp do danych, a także wpłynąć na dostępność i integralność systemu (pełne C/I/A: HIGH ze scope Changed).
Należy zaktualizować vLLM do wersji 0.8.5 lub nowszej, która zawiera poprawkę eliminującą podatność. Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do portów ZeroMQ za pomocą firewall oraz wyłączenie integracji mooncake, jeśli nie jest wymagana.
vLLM w wersjach od 0.6.5 do 0.8.5 (wyłącznie) z aktywną integracją mooncake. Instancje vLLM nieużywające integracji mooncake nie są podatne.
Podatność dotyczy wyłącznie instancji vLLM korzystających z integracji mooncake. Poprawka dostępna jest w wersji 0.8.5 wydanej przez projekt vllm-project na GitHub.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HVllm
APPVllm0.6.5 – 0.8.5 (bez)
Powiązane podatności
Pominięcie uwierzytelnienia w vLLM — bypass klucza API OpenAI
vLLM: wyciek adresu sterty umożliwiający RCE przez endpoint multimodalny
vLLM: niezamierzone nasłuchiwanie TCPStore na wszystkich interfejsach sieciowych
RCE przez niebezpieczną deserializację w vllm MessageQueue.dequeue()
RCE przez niebezpieczną deserializację w vLLM z Mooncake (ZMQ/TCP)