{"id":"GHSA-vv44-hjm2-qw2f","kind":"vulnerability","aliases":["GHSA-vv44-hjm2-qw2f"],"related":[],"title":"Duplicate Advisory: Remote code execution via unsafe deserialization in multiprocess mode transport","description":"## Duplicate Advisory\n\nThis advisory has been withdrawn because it is a duplicate of GHSA-w5f2-9q9c-ff4h. This link is maintained to preserve external references.\n\n## Original Description\nLMCache 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.","summary":"This advisory is a withdrawn duplicate of GHSA-w5f2-9q9c-ff4h and was never a separate issue. The original text says LMCache's multiprocess mode exposes an unauthenticated ZeroMQ socket that calls pickle.loads on incoming messages, so one crafted message to port 5555 runs code as the LMCache process user.","severity":"critical","cvss":9.800000190734863,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"lmcache","fixed":[],"affected":">= 0.3.9, < 0.5.6","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["ai-tooling","cwe-306","kubernetes","lmcache","multi-node","python","self-hosted"],"not_affected_if":["localhost-only-binding","multiprocess-mode-disabled"],"how_to_check":null,"fix":"Use the advisory this one duplicates, GHSA-w5f2-9q9c-ff4h, and upgrade pypi:lmcache to a version at or above 0.5.6 (the range given is >= 0.3.9, < 0.5.6).","status":"withdrawn","published_at":"2026-10-07T12:31:58+00:00","first_seen_at":"2026-10-23T19:11:32+00:00","triaged_at":"2026-10-23T20:57:08+00:00","updated_at":"2026-10-23T20:57:08+00:00","category":"ai-tooling","confidence":0.6,"triage":{"at":"2026-10-23T20:57:08Z","model":"claude-haiku-5-5","output":{"fix":"Use the advisory this one duplicates, GHSA-w5f2-9q9c-ff4h, and upgrade pypi:lmcache to a version at or above 0.5.6 (the range given is >= 0.3.9, < 0.5.6).\nunknown","reach":"network","impact":"high","summary":"This advisory is a withdrawn duplicate of GHSA-w5f2-9q9c-ff4h and was never a separate issue. The original text says LMCache's multiprocess mode exposes an unauthenticated ZeroMQ socket that calls pickle.loads on incoming messages, so one crafted message to port 5555 runs code as the LMCache process user.","category":"ai-tooling","who_cares":["lmcache","python","kubernetes","multi-node","self-hosted"],"confidence":0.6,"needs_auth":"no","worst_case":"Unauthenticated attacker runs arbitrary code as LMCache process user, often root","analyst_note":"Withdrawn duplicate; verify the canonical advisory GHSA-w5f2-9q9c-ff4h at https://github.com/advisories/GHSA-w5f2-9q9c-ff4h for the authoritative fixed version and mitigation steps.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":["localhost-only-binding","multiprocess-mode-disabled"],"user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.000562,"input_tokens":3081,"output_tokens":508,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-306':28B '1':147C '5555':81B,179C '9q9c':48B,105C 'address':210C 'advisori':2A,39B,90C,92C 'ai':25B 'ai-tool':24B 'also':120C 'argument':162C 'bind':201C 'block':138C 'cach':137C 'call':70B,121C,153C 'code':4A,83B,146C,182C 'connect':222C 'contain':192C 'craft':77B 'cwe':27B 'dealer':172C 'decod':160C 'default':178C 'deploy':219C 'descript':116C 'deseri':8A 'deviceipcwrapper.deserialize':151C 'distribut':122C 'duplic':1A,43B,89C,100C 'execut':5A,181C 'expos':64B 'extens':145C 'extern':113C 'ff4h':49B,106C 'ghsa':14A,19A,46B,103C 'ghsa-vv44-hjm2-qw2f':13A,18A 'ghsa-w5f2-9q9c-ff4h':45B,102C 'handler':166C 'hjm2':16A,21A 'host':37B,212C 'imag':193C 'incom':73B 'issu':55B 'kubernet':29B 'kv':136C 'let':220C 'link':108C 'lmcach':30B,60B,86B,117C,187C 'lmcache':23A 'localhost':203C 'maintain':110C 'messag':74B,78B,139C,173C 'mode':11A,63B,119C,123C 'msgpack':144C 'multi':32B,217C 'multi-nod':31B,216C 'multiprocess':10A,62B,118C 'never':52B 'node':33B,218C 'offici':191C 'one':76B 'open':124C 'oper':206C 'origin':57B,115C 'pass':149C 'peer':221C 'pickle.loads':71B,154C 'port':80B,177C 'preserv':112C 'process':87B,131C,188C,196C 'python':34B 'qw2f':17A,22A 'refer':114C 'regist':133C 'remot':3A 'request':161C 'root':198C 'routabl':209C 'router':128C 'run':82B,167C,189C,194C 'say':59B 'self':36B 'self-host':35B 'separ':54B 'server':157C 'set':207C 'share':135C 'singl':169C 'socket':68B,142C 'still':159C 'text':58B 'therefor':180C 'tool':26B 'transport':12A,176C,200C 'unauthent':66B,126C,170C 'unless':204C 'unsaf':7A 'user':88B,185C 'via':6A 'vv44':15A,20A 'w5f2':47B,104C 'withdrawn':42B,95C 'worker':130C 'zeromq':67B,127C 'zmq':171C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-07T12:31:58+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-vv44-hjm2-qw2f","url":"https://github.com/advisories/GHSA-vv44-hjm2-qw2f","severity":"critical","published_at":"2026-10-07T12:31:58+00:00","modified_at":"2026-10-16T20:08:51+00:00","first_seen_at":"2026-10-23T19:11:32+00:00","fetched_at":"2026-10-23T19:11:32+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}