home / blog
2026-10-31 · critica
CVE-2026-105192: RCE in LMCache multiprocess mode
RCE critico in LMCache: ZeroMQ unauthenticated. Versioni 0.3.9-0.5.5 colpite. Patch disponibile in v0.5.6.

Il CVE-2026-105192 è una vulnerabilità RCE in LMCache, il layer di cache di vLLM. In modalità multiprocess, LMCache espone un socket ZeroMQ ROUTER non autenticato sulla porta 5555 per permettere ai worker di registrarsi e condividere blocchi di cache. Durante la decodifica dei messaggi, il codice di estensione 1 viene passato a pickle.loads prima di qualsiasi validazione. Un messaggio ZeroMQ malformato inviato da un utente non autenticato consente esecuzione arbitraria di codice Python con le credenziali del processo LMCache, che nelle immagini ufficiali è root.
La vulnerabilità ha CVSS 9,8 (critical). Nessuna autenticazione è richiesta; il binding predefinito è localhost, ma quando l'operatore lo configura su un indirizzo routabile con --host per deployment multi-nodo, l'attacco diventa remoto. Il CVE è stato pubblicato il 7 ottobre 2026 da JFrog. Proof of concept pubblici sono stati resi disponibili lo stesso giorno. La patch è stata rilasciata il 14 ottobre con la versione v0.5.6. Gli utenti della comunità continuano a discutere della vulnerabilità sui social media a fine ottobre, segnale che la consapevolezza è ancora in fase di diffusione.
I sysadmin e i team IT devono aggiornare LMCache a v0.5.6 o successive il prima possibile. Tutte le versioni da v0.3.9 a v0.5.5 sono vulnerabili, inclusi i release candidate di v0.5.6. Se l'aggiornamento immediato non è possibile, verificare che il socket ZeroMQ sia vincolato solo a localhost in ambienti isolati single-node, riducendo così il vettore di attacco a una minaccia locale. Monitorare i log di accesso sulla porta 5555 per rilevare tentativi sospetti.
In sintesi
- Cosa
- Nella modalità multiprocess (distributed), LMCache espone un socket ZeroMQ ROUTER non autenticato sulla porta 5555 per permettere ai worker di registrarsi e condividere blocchi di cache KV. Durante la decodifica dei messaggi via msgpack, il codice di estensione 1 viene passato a DeviceIPCWrapper.Deserialize, che invoca pickle.loads prima della validazione della richiesta. Un messaggio ZeroMQ malformato inviato da un attaccante unauthenticato consente esecuzione arbitraria di codice Python con le credenziali del processo LMCache.
- Gravità
- CVSS 9,8 (critical). Nessuna autenticazione richiesta. Binding predefinito su localhost; tuttavia, quando l'operatore lo configura su un indirizzo routabile con --host per deployment multi-nodo, l'attacco diventa remoto. Impatto massimo: le immagini container ufficiali eseguono LMCache come root, per cui un singolo messaggio consente escalation a root.
- Versioni interessate
- v0.3.9 attraverso v0.5.5, inclusi i release candidate di v0.5.6. Il codice vulnerabile è stato introdotto in v0.3.9 e rimane presente fino a v0.5.5.
- Correzione
- v0.5.6, pubblicata il 14 ottobre 2026, rimuove pickle.loads dal percorso di decodifica. Aggiornamento immediato consigliato.
- Stato
- Divulgato da JFrog il 7 ottobre 2026. Proof of concept pubblici resi disponibili lo stesso giorno. Patch ufficiale disponibile dal 14 ottobre. Discussioni pubbliche continuano a fine ottobre, segnale che la consapevolezza è ancora in fase di diffusione.
- Azione
- Aggiornare LMCache a v0.5.6 o successive il prima possibile. Se aggiornamento non è immediato, verificare che il socket ZeroMQ sia vincolato solo a localhost in ambienti isolati single-node. Monitorare i log per accessi anomali sulla porta 5555.
Fonti: NVD, CVE-2026-105192