AI analysis
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, and extension code 1 is passed to DeviceIPCWrapper.Deserialize, which calls pickle.loads while request arguments are still being decoded and before the handler runs. A single unauthenticated ZMQ DEALER message to the transport port (default 5555) can therefore execute code as the user the LMCache process runs as, and 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, so remote exposure is limited to those deployments. No public proof-of-concept is known and the issue is not listed in CISA KEV.
What to do: Do not set --host to a routable address unless port 5555 (or your configured transport port) is reachable only from trusted peers; leave the default localhost bind when multi-node access is not required. Avoid running the official images as root, and treat unexpected connections to the ZeroMQ transport as suspicious. No fixed version is identified in the supplied data, so track the LMCache advisory and upgrade when a patch is published.
Affected
| LMCache (multiprocess / distributed mode) | — |
Estimated exposure
—No basis for an estimate.
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
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.