IT SBIT Services
Schneeberger
DEEN
CVE tracker

LMCache: Unauthenticated remote code execution via pickle deserialization

CVE-2026-105192Critical 9.8Public exploit

← All vulnerabilities

Summary

LMCache in multiprocess (distributed) mode opens an unauthenticated ZeroMQ transport. Incoming messages are decoded with pickle.loads, so a single crafted message to the transport port (default 5555) can execute code as the user running LMCache, which is root in the official container images. The transport binds to localhost by default, so the risk applies mainly when a routable address is set with --host, as multi-node deployments do. Versions 0.3.9 to 0.5.5 and the 0.5.6 release candidates are affected.

Affected

  • LMCache 0.3.9 up to but not including 0.5.6, in multiprocess mode
  • Exposed when the transport binds a routable address (--host)
  • Default localhost binding is not exposed
  • The v0.5.6 example Kubernetes deployment still binds 0.0.0.0

Fixed in

  • LMCache 0.5.6 or later (PR #5644). Upgrade workers and servers together, as the wire format has changed.
  • The official v0.5.6 images still run as root. Non-root images and the localhost binding in the example deployment are included in v0.5.7rc2.

Workaround

  • Keep the transport on localhost and do not set a routable --host unless it is required
  • Restrict port 5555 (or the configured port) to known peers with network policies or host firewall rules
  • Run the LMCache process as a non-root user
  • Review deployments based on the old Kubernetes example, which bound all interfaces

Exploitation

  • No in-the-wild exploitation known at the time of writing.
  • CISA SSVC assessment: exploitation none, automatable yes, technical impact total.
  • The JFrog write-up includes a proof-of-concept section.

Our recommendation

  • Inventory LMCache installations (pip, containers, vLLM or SGLang integrations) and check the --host setting and whether port 5555 is reachable.
  • Upgrade to 0.5.6 or later. If an upgrade is not possible at once, restrict the port immediately.
  • Run as non-root and confirm the running version after the upgrade.
  • If the port was reachable from untrusted networks, check for unexpected child processes, shells or outbound connections and treat the host as potentially compromised.
  • Track the open follow-up items: RPC authentication (planned for 0.5.7) and pickle use on the engine-driven path (planned before 0.5.8).

Public exploits

Links to third-party sites, not checked by us – exploit code can contain malware. Only use it in isolated test environments.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 30 Oct 2026, 20:52.

Original description (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. 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.

NVD references (11)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.