Description
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. The decode path shipped in v0.3.9 and is present through v0.5.5, including the v0.5.6 release candidates. v0.5.6, published on 2026-10-14, removes pickle.loads from this path.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| LMCache | LMCache | 0.3.9 – < 0.5.6 | 0.5.6 |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
GitHub 2 repositories
-
basesixtythree/B63-POC-CVE-2026-105192 ★ 0 · Nov 1, 2026
CVE-2026-105192 (LMCache): pre-auth pickle deserialization RCE over the unauth ZMQ transport (single frame) — b63 showcase, lab-verified with patched-build negative + reliability/matrix evidence
-
rxsklife/CVE-2026-105192 ★ 0 · Oct 8, 2026
CVE-2026-105192 is a critical (CVSS 9.8) vulnerability in LMCache, an open-source distributed key-value cache for LLM inference engines like vLLM.
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | lmcache | >= 0.3.9, < 0.5.6 | 0.5.6 | GHSA-w5f2-9q9c-ff4h |
References
- LMCache repository product
- lmcache on PyPI product
- DeviceIPCWrapper.Deserialize calls pickle.loads (v0.5.5) technical-description
- msgpack extension code 1 decoded with pickle (v0.3.9) technical-description
- JFrog Security Research advisory JFSA-2026-001694382 vendor-advisory
- LMCache update on CVE-2026-105192 vendor-advisory
- GHSA-w5f2-9q9c-ff4h vendor-advisory
- PR #5644: replace pickle in device IPC descriptors patch
- LMCache v0.5.6 patch release-notes
- PR #5684: bind example Kubernetes deployment to localhost mitigation
- PR #5685: run official images as a non-root user mitigation