CVE-2026-105192
CriticalCVSS 9.8Exploitation Probability (EPSS)
Elevated risk56th percentile - higher than 56% of all known CVEs
Summary
LMCache multiprocess (distributed) mode opens an unauthenticated ZeroMQ ROUTER socket where workers register and share KV cache blocks. 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, so a single unauthenticated ZMQ DEALER message to the transport port (default 5555) executes code as the LMCache process user.
Risk Assessment
An unauthenticated attacker can execute arbitrary code with the privileges of the LMCache process, which runs as root in official container images. If the transport binds to a routable address via --host, the flaw is remotely reachable across the network.
Recommendation
Upgrade LMCache to version 0.5.6 or later, which removes pickle.loads from this path. Until then, restrict access to port 5555 and avoid running the process as root.
Other vulnerabilities in LMCache
See all- CVE-2026-107206Critical
LMCache through 0.5.5 contains a missing authentication vulnerability in the multiprocess mode HTTP server that allows remote unauthenticated attackers to access management endpoints listening on all interfaces by default. Attackers can read environment credentials via GET /env and configuration via GET /config, clear caches, delete cache objects, and modify tenant quotas to evict other tenants' cached data.
- CVE-2026-107204Critical
LMCache through 0.5.5 contains an unauthenticated remote code execution vulnerability that allows remote attackers to execute Python code by posting scripts to the /run_script endpoint. Attackers can recover real builtins through the injected FastAPI app object, bypassing the guarded __import__, to import os and run operating system commands as the LMCache process.
- CVE-2026-107207High
LMCache through 0.5.5 contains a server-side request forgery vulnerability in its frontend monitoring service that allows unauthenticated attackers to bypass the proxy allowlist by registering arbitrary hosts. Attackers can add entries via POST /api/proxies and then use /proxy or /proxy2 to reach internal hosts, read responses, and tamper with nodes or stop the heartbeat.
- CVE-2026-107205High
LMCache through 0.5.5 contains a missing authentication vulnerability in the multiprocess coordinator that allows remote unauthenticated attackers to access its HTTP fleet control API listening on all interfaces by default. Attackers can register or deregister instances via /instances, overwrite quotas via /quota endpoints, inject events via /events, and enumerate /directory/keys to disrupt caching and disclose placement metadata.
- CVE-2026-10813Low
LMCache up to 0.5.4 contains a vulnerability in the hex_hash_to_int16 function in lmcache/integration/vllm/utils.py, involving the use of a weak hash. The attack requires local access and high complexity, and the exploit has been published. A fix is available in version 0.5.5.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

