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.
https://github.com/rxsklife/CVE-2026-105192
https://thehackernews.com/2026/10/unpatched-critical-lmcache-flaw-lets.html
https://pypi.org/project/lmcache/
https://github.com/LMCache/LMCache/security/advisories/GHSA-w5f2-9q9c-ff4h
https://github.com/LMCache/LMCache/pull/5685
https://github.com/LMCache/LMCache/pull/5684
https://github.com/LMCache/LMCache/pull/5644
https://github.com/LMCache/LMCache/commit/767c7e367bbdc357c445cf7bd2ed259cff8d5865
https://github.com/LMCache/LMCache/commit/62f74c417dfe1ba56761733fd25dc8209a192f20
https://github.com/LMCache/LMCache/commit/160b6dec469edb765efd1fad42aca5a438b08bb5
https://github.com/LMCache/LMCache/blob/v0.5.5/lmcache/v1/platform/base/ipc_wrapper.py
https://github.com/LMCache/LMCache/blob/v0.3.9/lmcache/v1/multiprocess/custom_types.py
https://github.com/LMCache/LMCache
https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-94261
https://blog.lmcache.ai/en/2026/10/13/an-update-on-cve-2026-105192