CVE-2026-49950: Xorbits Xoscar 0.11.2 Unauthenticated Deserialization RCE via Actor Pool
Xorbits Xoscar through 0.11.2 contains an unauthenticated deserialization vulnerability that allows remote attackers to execute arbitrary code by sending crafted data over the actor-pool TCP channel. Attackers can exploit SocketChannel.recv() passing unvalidated data to cloudpickle.loads(), which triggers pickle reduce gadget execution before message type validation, achieving remote code execution as the server process which commonly runs as root on GPU nodes.
Affected Software
Event History
Frequently Asked Questions
Which deployments are exposed to this issue?
Deployments using Xorbits Xoscar through version 0.11.2 are exposed where the actor-pool TCP channel is reachable by a remote attacker. GPU-node deployments may face especially severe impact because the server process commonly runs as root.
What access or interaction does an attacker need?
An attacker does not need authentication or user interaction. They need network access to send crafted data to the actor-pool TCP channel.
Why does message validation not prevent exploitation?
The crafted data reaches cloudpickle.loads() before message-type validation occurs. A pickle __reduce__ gadget can execute code during deserialization, before the later validation step.
What level of access can successful exploitation provide?
Successful exploitation allows arbitrary code execution as the Xoscar server process. Where that process runs as root, the attacker can execute code with root privileges on the affected node.