W silniku vLLM skonfigurowanym do pracy z Mooncake istnieje krytyczna podatność polegająca na niebezpiecznej deserializacji (CWE-502) eksponowanej bezpośrednio przez ZMQ/TCP na wszystkich interfejsach sieciowych. Umożliwia ona zdalne wykonanie kodu na hostach uczestniczących w rozproszonym środowisku.
▸ Pokaż oryginał (EN)
vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. When vLLM is configured to use Mooncake, unsafe deserialization exposed directly over ZMQ/TCP on all network interfaces will allow attackers to execute remote code on distributed hosts. This is a remote code execution vulnerability impacting any deployments using Mooncake to distribute KV across distributed hosts. This vulnerability is fixed in 0.8.0.
Gdy vLLM jest skonfigurowany z integracją Mooncake (służącą do dystrybucji pamięci podręcznej KV między hostami), dane przesyłane przez protokół ZMQ/TCP są deserializowane w sposób niezabezpieczony bez odpowiedniej walidacji lub uwierzytelnienia. Atakujący mający dostęp do sieci lokalnej (wektor AV:A) może wysłać spreparowany payload do nasłuchującego gniazda ZMQ/TCP, co skutkuje wykonaniem dowolnego kodu na docelowym hoście. Zasięg podatności obejmuje wszystkie interfejsy sieciowe, na których działa usługa.
Atakujący może uzyskać pełną kontrolę nad zaatakowanym hostem — osiągając poufność, integralność i dostępność na poziomie krytycznym (C:H/I:H/A:H) — oraz potencjalnie rozprzestrzeniać się na inne węzły w infrastrukturze rozproszonej.
Należy zaktualizować vLLM do wersji 0.8.0 lub nowszej, w której podatność została usunięta. Dodatkowo, do czasu wdrożenia patcha, zaleca się izolację sieciową hostów vLLM (firewall, segmentacja sieci) tak, aby porty ZMQ/TCP były niedostępne z niezaufanych segmentów sieci.
Wszystkie wdrożenia vLLM korzystające z integracji Mooncake do dystrybucji pamięci KV między rozproszonymi hostami, w wersjach wcześniejszych niż 0.8.0.
Poprawka dostępna w commicie 288ca110f68d23909728627d3100e5a8db820aa2 oraz pull requeście #14228 w repozytorium vllm-project/vllm.
CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HVllm
APPVllm0.6.5 – 0.8.0 (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 w vLLM poprzez deserializację pickle na niezabezpieczonych gniazdach ZeroMQ
RCE przez niebezpieczną deserializację w vllm MessageQueue.dequeue()