LMCache Unauthenticated RCE in multiprocess mode via pickle deserialization

Summary

CVECVE-2026-105192
StatePUBLISHED
AssignerJFROG
Source PriorityCVE Program / NVD first with legacy fallback
Published2026-10-07 10:17:32 UTC
Updated2026-10-29 11:17:24 UTC
DescriptionLMCache 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.

Risk And Classification

Primary CVSS: v3.1 9.8 CRITICAL from [email protected]

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

EPSS: 0.007720000 probability, percentile 0.556100000 (date 2026-10-29)

Problem Types: CWE-306 | CWE-502 | CWE-502 CWE-502: Deserialization of Untrusted Data | CWE-306 CWE-306: Missing Authentication for Critical Function


VersionSourceTypeScoreSeverityVector
3.1[email protected]Secondary9.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
3.1CNACVSS9.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CVSS v3.1 Breakdown

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Vendor Declared Affected Products

SourceVendorProductVersionPlatforms
CNA LMCache LMCache affected 0.3.9 0.5.6 python Not specified

References

ReferenceSourceLinkTags
research.jfrog.com/vulnerabilities/lmcache-is-vulnerable-to-unauthenticated-remo... [email protected] research.jfrog.com
github.com/LMCache/LMCache/blob/v0.5.5/lmcache/v1/platform/base/ipc_wrap... [email protected] github.com
github.com/LMCache/LMCache [email protected] github.com
github.com/LMCache/LMCache/blob/v0.3.9/lmcache/v1/multiprocess/custom_ty... [email protected] github.com
github.com/LMCache/LMCache/releases/tag/v0.5.6 [email protected] github.com
github.com/LMCache/LMCache/pull/5684 [email protected] github.com
blog.lmcache.ai/en/2026/10/13/an-update-on-cve-2026-105192 [email protected] blog.lmcache.ai
github.com/LMCache/LMCache/pull/5685 [email protected] github.com
github.com/LMCache/LMCache/pull/5644 [email protected] github.com
github.com/LMCache/LMCache/security/advisories/GHSA-w5f2-9q9c-ff4h [email protected] github.com
pypi.org/project/lmcache [email protected] pypi.org
CVE Program record CVE.ORG www.cve.org canonical
NVD vulnerability detail NVD nvd.nist.gov canonical, analysis

Vendor Comments And Credit

Discovery Credit

CNA: Yuval Moravchick (en)

CNA: JFrog Security Research (en)

Additional Advisory Data

SourceTimeEvent
CNA2025-10-29T21:47:00.000ZLMCache v0.3.9 ships the multiprocess ZMQ transport and the pickle-backed msgpack extension
CNA2026-10-12T06:22:00.000ZPR #5644 merged: pickle removed from device IPC descriptors
CNA2026-10-14T22:21:00.000ZLMCache v0.5.6 released, the first version that includes the fix

Solutions

CNA: Upgrade to LMCache 0.5.6 or later. That release replaces pickle in device IPC descriptors with versioned, typed MessagePack descriptors. Descriptors are validated before use, the wrapper type is chosen from a fixed local allowlist, and there is no pickle fallback. The change covers the ZeroMQ and gRPC paths. The wire format changed, so upgrade workers and servers together. The fix is PR #5644 and it is in the v0.5.6 tag. PR #5684, which binds the example Kubernetes deployment to localhost, and PR #5685, which runs the official images as a non-root user, were merged after the v0.5.6 tag was cut and are included in v0.5.7rc2. The v0.5.6 example deployment still passes --host 0.0.0.0, and the v0.5.6 images still run as root.

© CVE.report 2026

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

Free CVE JSON API cve.report/api

CVE.report and Source URL Uptime Status status.cve.report