CVE-2026-105192
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 50 - wyżej niż 50% wszystkich znanych CVE
Streszczenie
LMCache w trybie wieloprocesowym (rozproszonym) otwiera nieuwierzytelniony gniazdo ZeroMQ ROUTER, umożliwiając rejestrację workerów i udostępnianie bloków pamięci podręcznej KV. Wiadomości na tym gnieździe są w formacie msgpack, a kod rozszerzenia 1 jest przekazywany do DeviceIPCWrapper.Deserialize, który wywołuje pickle.loads, zanim serwer zakończy dekodowanie argumentów żądania i uruchomi handler. Pojedyncza nieuwierzytelniona wiadomość ZMQ DEALER na porcie transportowym (domyślnie 5555) wykonuje kod jako użytkownik procesu LMCache. Oficjalne obrazy kontenerów uruchamiają ten proces jako root. Transport wiąże się z localhost, chyba że operator ustawi adres routowalny za pomocą --host, co umożliwia połączenia w wielu węzłach.
Ocena ryzyka
Nieuwierzytelniony atakujący może zdalnie wykonać kod z uprawnieniami użytkownika procesu LMCache, a w oficjalnych kontenerach jako root, co prowadzi do pełnej kompromitacji systemu.
Rekomendacja
Ogranicz dostęp do portu transportowego (5555) tylko do zaufanych sieci. Jeśli to możliwe, włącz uwierzytelnianie dla gniazda ZeroMQ lub użyj bezpieczniejszego trybu komunikacji. Zaktualizuj LMCache do wersji z poprawką, jeśli dostępna.
Inne podatności w LMCache
Zobacz wszystkie- CVE-2026-107207Wysokie
LMCache do wersji 0.5.5 zawiera podatność typu server-side request forgery w usłudze monitorowania frontendu, która pozwala nieuwierzytelnionym atakującym obejść listę dozwolonych proxy poprzez rejestrowanie dowolnych hostów. Atakujący mogą dodawać wpisy przez POST /api/proxies, a następnie używać /proxy lub /proxy2 do osiągnięcia wewnętrznych hostów, odczytu odpowiedzi i manipulacji węzłami lub zatrzymania heartbeatu.
- CVE-2026-107205Wysokie
LMCache do wersji 0.5.5 zawiera podatność braku uwierzytelniania w koordynatorze wieloprocesowym, która pozwala zdalnym nieuwierzytelnionym atakującym uzyskać dostęp do API kontroli floty HTTP nasłuchującego domyślnie na wszystkich interfejsach. Atakujący mogą rejestrować lub wyrejestrowywać instancje przez /instances, nadpisywać limity przez /quota, wstrzykiwać zdarzenia przez /events i wyliczać /directory/keys, aby zakłócić buforowanie i ujawnić metadane umiejscowienia.
- CVE-2026-107206Krytyczne
LMCache do wersji 0.5.5 zawiera podatność braku uwierzytelnienia w serwerze HTTP działającym w trybie wieloprocesowym. Zdalny, nieuwierzytelniony atakujący może uzyskać dostęp do punktów zarządzania nasłuchujących na wszystkich interfejsach. Może odczytać zmienne środowiskowe (GET /env), konfigurację (GET /config), czyścić cache, usuwać obiekty cache i modyfikować limity dzierżawców, co może prowadzić do wykluczenia danych innych dzierżawców.
- CVE-2026-107204Krytyczne
LMCache do wersji 0.5.5 zawiera podatność zdalnego wykonania kodu bez uwierzytelnienia. Zdalny atakujący może wysyłać skrypty do punktu /run_script i wykonywać kod Pythona. Może odzyskać prawdziwe wbudowane funkcje przez obiekt aplikacji FastAPI, omijając zabezpieczony __import__, aby zaimportować os i wykonywać polecenia systemu operacyjnego jako proces LMCache.
- CVE-2026-10813Niskie
Podatność w LMCache do wersji 0.4.6. Funkcja hex_hash_to_int16 w pliku lmcache/integration/vllm/utils.py (komponent KV Cache Handler) używa słabego hasha. Atak wymaga dostępu lokalnego i wysokiej złożoności. Exploit jest publicznie dostępny.
Oryginalny opis (angielski, źródło NVD)
LMCache multiprocess mode, also called distributed mode, opens an unauthenticated ZeroMQ ROUTER so worker processes can register and share KV cache blocks. Messages on that socket are msgpack. Extension code 1 is passed to DeviceIPCWrapper.Deserialize, which calls pickle.loads, while the server is still decoding request arguments and before the handler runs. A single unauthenticated ZMQ DEALER message to the transport port (default 5555) therefore executes code as the user the LMCache process runs as. Official container images run that process as root. The transport binds to localhost unless the operator sets a routable address with --host, which is how multi-node deployments let peers connect.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

