Unauthenticated remote code execution in LMCache multiprocess mode
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass, Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-306 and CWE-502.
Summary
LMCache from 0.3.9 before 0.5.6 is affected, including the lmcache PyPI package. Multiprocess mode opens an unauthenticated ZeroMQ socket whose messages are passed to pickle.loads, an unsafe deserialization flaw (CWE-502). An unauthenticated remote attacker who sends one ZeroMQ message to the transport port can execute code as the user running LMCache, which is root in official container images.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| LMCache | LMCache | 0.3.9 to before 0.5.6 | 0.5.6 | Patch available | CNA |
| — | lmcache (PyPI) | 0.3.9 to before 0.5.6 | 0.5.6 | Patch available | GHSA-w5f2-9q9c-ff4h |
- LMCache VendorLMCache Affected 0.3.9 to before 0.5.6 Fixed in 0.5.6 Patch available CNA
- lmcache (PyPI) Vendor— Affected 0.3.9 to before 0.5.6 Fixed in 0.5.6 Patch available GHSA-w5f2-9q9c-ff4h
Remediation
Upgrade LMCache and the lmcache PyPI package to version 0.5.6, which removes pickle.loads from this decoding path.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA LMCache (LMCache) Fixed in 0.5.6
- Fix · GHSA-w5f2-9q9c-ff4h lmcache (PyPI) Fixed in 0.5.6 Advisory →
Timeline
- 2026-10-07 Threatist record created from CVE-2026-105192
- 2026-10-07 Alias added: GHSA-vv44-hjm2-qw2f
- 2026-10-07 CISA SSVC decision points changed
- 2026-10-08 EPSS moved to the below the 50th percentile
- 2026-10-18 Alias added: GHSA-w5f2-9q9c-ff4h
- 2026-10-18 Fix available: PyPI/[email protected] · GHSA-w5f2-9q9c-ff4h
- 2026-10-18 CVSS score added · GHSA-w5f2-9q9c-ff4h
- 2026-10-18 Weakness changed · GHSA-w5f2-9q9c-ff4h
- 2026-10-18 13 new references · GHSA-w5f2-9q9c-ff4h
- 2026-10-25 EPSS moved to the 50th–90th percentile
- 2026-10-29 Fix available: [email protected] · CNA
- 2026-10-29 7 new references · CNA
References
Advisory 4
Other 11
- LMCache repository
- lmcache on PyPI
- DeviceIPCWrapper.Deserialize calls pickle.loads (v0.5.5)
- msgpack extension code 1 decoded with pickle (v0.3.9)
- PR #5684: bind example Kubernetes deployment to localhost
- PR #5685: run official images as a non-root user
- https://github.com/LMCache/LMCache/commit/160b6dec469edb765efd1fad42aca5a438b08bb5
- https://github.com/LMCache/LMCache/commit/62f74c417dfe1ba56761733fd25dc8209a192f20
- https://github.com/LMCache/LMCache/commit/767c7e367bbdc357c445cf7bd2ed259cff8d5865
- https://blog.lmcache.ai/en/2026/10/13/an-update-on-cve-2026-105192
- https://research.jfrog.com/vulnerabilities/lmcache-is-vulnerable-to-unauthenticated-remote-code-execution-via-pickle-deserialization-on-the-multiprocess-zmq-transport-cve-2026-105192-jfsa-2026-001694382
More LMCache vulnerabilities
- TI-2026-69186 LMCache Unauthenticated RCE via /run_script Endpoint CVSS 4.0CRITICAL 9.3
- TI-2026-69188 Missing authentication in LMCache HTTP server exposes management API CVSS 4.0HIGH 8.8
- TI-2026-69189 SSRF allowlist bypass in LMCache frontend lacks authentication CVSS 4.0MEDIUM 6.9
- TI-2026-69187 Missing authentication in LMCache MP Coordinator fleet control API CVSS 4.0HIGH 8.8
Sources
- CVE-2026-105192 · CVE Program
- CVE-2026-105192 · NVD
- FIRST EPSS
- GHSA-vv44-hjm2-qw2f · GitHub Advisory Database · CC BY 4.0
- GHSA-w5f2-9q9c-ff4h · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences