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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-49950
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 02:06 UTC · Revision 1
Source evidence
Xorbits Xoscar 0.11.2 Unauthenticated Deserialization RCE via Actor Pool
core-osv · Original sourcePublished 13 Oct 2026, 20:20 UTC
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.
osv:CVE-2026-49950
Complete source record
{
"id": "bb2bfb018984bc4d6b495769dce0f1fc32ad4f2b9f63e6b67398eaa4f68cbed7",
"url": "https://osv.dev/vulnerability/CVE-2026-49950",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Xorbits Xoscar 0.11.2 Unauthenticated Deserialization RCE via Actor Pool",
"summary": "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.",
"evidence": "osv:CVE-2026-49950",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2026-49950",
"aliases": [
"CVE-2026-49950"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/xorbitsai/xoscar",
"type": "GIT",
"events": [
{
"introduced": "064891423f0f061d894008797fc1169227cca0b7"
},
{
"last_affected": "ef2af816d34f3493bab9b5736fa612f78c7ef1a8"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0.1.0"
},
{
"last_affected": "0.11.2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "0.11.2"
}
],
"source": "DESCRIPTION"
}
]
}
}
],
"versions": [
"v0.11.2",
"v0.11.1",
"v0.11.0",
"v0.10.1",
"v0.10.0",
"v0.9.12",
"v0.9.11",
"v0.9.10",
"v0.9.9",
"v0.9.8",
"v0.9.7",
"v0.9.6",
"v0.9.5",
"v0.9.4",
"v0.9.3",
"v0.9.2",
"v0.9.1",
"v0.9.0",
"v0.8.1",
"v0.8.0",
"v0.8.0.rc1",
"v0.7.17",
"v0.7.16",
"v0.7.15",
"v0.7.14",
"v0.7.13",
"v0.7.12",
"v0.7.11",
"v0.7.10",
"v0.7.9",
"v0.7.8",
"v0.7.7",
"v0.7.6",
"v0.7.5",
"v0.7.4",
"0.7.4",
"v0.7.3",
"v0.7.2",
"v0.7.1",
"v0.7.0",
"v0.7.0.rc1",
"v0.6.2",
"v0.6.1",
"v0.6.0",
"v0.5.0",
"v0.4.6",
"v0.4.5",
"v0.4.4",
"v0.4.3",
"v0.4.2",
"v0.4.1",
"v0.4.0",
"v0.3.3",
"v0.3.2",
"v0.3.1",
"v0.3.0",
"v0.2.1",
"v0.2.0",
"v0.1.4",
"v0.1.3",
"v0.1.2",
"v0.1.1",
"v0.1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-49950.json"
}
}
],
"modified": "2026-10-28T02:30:48.969614798Z",
"provider": "osv",
"references": [
"https://github.com/xorbitsai/xoscar/blob/v0.11.2/python/xoscar/backends/communication/socket.py#L99-L104",
"https://github.com/xorbitsai/xoscar/blob/v0.11.2/python/xoscar/serialization/core.pyx#L260",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/49xxx/CVE-2026-49950.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-49950",
"https://www.vulncheck.com/advisories/xorbits-xoscar-unauthenticated-deserialization-rce-via-actor-pool",
"https://github.com/xorbitsai/xoscar",
"https://www.vulncheck.com/blog/xorbits-xoscar-unauth-cloudpickle-rce"
],
"provider_metadata": {
"cwe_ids": [
"CWE-502"
],
"cna_assigner": "VulnCheck",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/49xxx/CVE-2026-49950.json"
}
},
"related_cves": [
{
"value": "CVE-2026-49950",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 517225,
"published_at": "2026-10-13T20:20:36.251+00:00"
}