// 威脅簡報
Xorbits Xoscar actor-pool 不安全反序列化:不需登入即可遠端執行程式碼
- CVSS
- 9.3 CRITICAL
- CISA KEV
- 未列入
- 弱點類型
- CWE-502
- 主題
- 基礎設施
AI 審稿 2026-10-14(未經人工)指令測試:未提供漏洞重現:未進行驗證紀錄 ↓
Xoscar 0.1.0 到 0.11.2(含)會把從網路收到的資料直接還原成 Python 物件,能連到 actor-pool 連接埠的人不需登入就能執行任意程式碼。
| 誰會中 | 使用 xoscar 0.1.0 到 0.11.2(含)的系統,且攻擊者能透過網路連到 actor-pool 的 TCP 連線管道(對不受信任網路開放時風險最高)。 |
|---|---|
| 後果 | 攻擊者能以伺服器程序的身分執行任意程式碼;依 CNA 的說法,這個程序在 GPU 節點上常以 root 執行,但不是一定。 |
| 現在該做什麼 | 目前沒有任何來源指出修補版本。在修補釋出前,把 actor-pool 的 TCP 連接埠限制在受信任的網路內(第三方建議),並追蹤官方是否釋出新版。 |
| 受影響版本 | 0.1.0 到 0.11.2(含) |
| 修好的版本 | 未確認:沒有任何來源指出修補版本 |
| CVSS 向量 | 顯示完整向量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 |
| 時間點 |
|
藍隊應對手冊
確認、修補 / 緩解、應變、強化。版本符合受影響條件不等於已被入侵;檢查沒有結果也不等於安全,每一項都有能證明與不能證明的範圍。標記的步驟對應下方攻擊流程裡可以擋下攻擊的那一步。
- 01確認安裝的 xoscar 版本
0.1.0 到 0.11.2(含)在受影響範圍內。xoscar 可能是其他套件的相依套件,不一定是你直接安裝的,請在每個 Python 環境都檢查。
唯讀查詢pip show xoscar | grep -i '^version' - 02找出可從外部連到的 actor-pool 連接埠
攻擊者需要能透過網路連到 actor-pool 的 TCP 管道;對不受信任網路開放的連接埠風險最高。檢查防火牆、雲端安全群組與容器的連接埠對應(PlainCVE 建議)。
- 01把 actor-pool 連線限制在受信任網路
OffSeq(AI 產生的第三方分析)建議在官方修補前,只讓受信任的網路連到 actor-pool TCP 管道,並以網路層控制擋掉不受信任的連線。這不是廠商提供的建議。
- 02追蹤修補版本
截至目前沒有任何來源指出修補版本、修補 commit 或廠商公告。請持續關注 xorbitsai/xoscar 的發布頁面與 GHSA-5rfg-55mw-4h28。
- 01曾對外暴露時,把主機視為可能已遭入侵
如果受影響版本的 actor-pool 連接埠曾對不受信任的網路開放,請調查該主機並輪替上面存放的憑證。這是 PlainCVE 的預防性建議,沒有任何來源證實已有實際利用,證據中也未見官方應變指引。
完整修復步驟與說明
目前沒有已確認的修補版本;OffSeq 的第三方資料也表示修補狀態尚未確認。
- 用
pip show xoscar在每個 Python 環境確認版本;容器映像檔也要檢查。 - 在官方修補前,依 OffSeq(AI 產生的第三方分析)的建議,只讓受信任的網路連到 actor-pool TCP 管道。這不是廠商的建議,但在沒有修補時是最直接的降低風險方式。
- 修補版本釋出後,以廠商的發布說明為準升級,不要只依版本號推測。
攻擊流程
從左到右是攻擊發生的順序。藍色盾牌代表這一步可以被擋下,越早擋下越好。點圖示可看細節。
由上到下是攻擊發生的順序。藍色盾牌代表這一步可以被擋下,越早擋下越好。點圖示可看細節。
- 攻擊者
連到 actor-pool 的 TCP 連線管道
攻擊者只需要能從網路連到這個連接埠,不需要任何帳號或密碼。
防禦: 把 actor-pool 連接埠限制在受信任的網路內(OffSeq 的第三方建議,非官方)。
- 攻擊者
送出特製的資料
Xoscar 不會先確認對方身分,收到什麼就處理什麼;CNA 的評分也標示不需要使用者互動。
- 你的系統
資料在檢查訊息類型前就被還原成物件
依 CNA 描述,SocketChannel.recv() 把未經驗證的資料交給 cloudpickle.loads();pickle 格式在還原過程中就可能執行程式碼,早於任何類型檢查。
防禦: 目前沒有已確認的官方修補。
- 你的系統
以伺服器程序身分執行任意程式碼
依 CNA 的說法,這個程序在 GPU 節點上常以 root 執行。(PlainCVE 判斷)若以 root 執行,影響可能擴及整台主機。
防禦: 不要以 root 執行 Xoscar 程序,降低被入侵後的影響(PlainCVE 建議)。
影響範圍
| 條件 | 是否受影響 |
|---|---|
| xoscar 0.1.0 到 0.11.2(含),且 actor-pool TCP 管道可從不受信任的網路連到 | 受影響,可被遠端利用 |
| xoscar 0.1.0 到 0.11.2,但 actor-pool 只在受信任的內部網路可達 | 版本仍受影響;遠端攻擊者需先進入該網路 |
| 0.11.2 之後的版本 | 未確認:沒有任何來源指出修補版本 |
受影響範圍來自 VulnCheck 的公告與 CVE 紀錄。CVE 由 VulnCheck 以 CNA(有權核發 CVE 編號的組織)身分核發,不是 Xoscar 的開發者 Xorbits。目前證據中沒有廠商自己的安全公告;GitHub Advisory Database 收錄為 GHSA-5rfg-55mw-4h28,但標示為尚未經 GitHub 審查。
原理
Xoscar 是一套分散式運算框架,多個程序(actor pool)之間透過 TCP 連線互傳訊息。傳送時,物件會被「序列化」成位元組;接收時再「反序列化」還原成物件。
依 CNA 的描述,SocketChannel.recv() 把從網路收到、未經驗證的資料直接交給 cloudpickle.loads()。pickle 是 Python 的物件格式,設計上允許資料在還原時指定要呼叫的函式。所以在程式還沒來得及檢查「這是哪種訊息」之前,攻擊者夾帶的程式碼就已經執行了。加上這個管道不需要認證,能連到連接埠就夠了。這類弱點對應 CWE-502(反序列化不受信任的資料)。
在廠商 v0.11.2 的原始碼中,SocketChannel.recv() 確實會把讀到的標頭與資料交給 deserialize(),而序列化模組有匯入 cloudpickle。**PlainCVE 的判斷:**這與 CNA 的描述一致。本站取得的 core.pyx 快照中,unpickle_buffers() 內有 cloudpickle.loads 呼叫,和 CNA 標示的位置相近;但快照沒有行號,無法確認是否就是 CNA 引用的第 260 行,從 recv() 到該呼叫的完整路徑本站也未逐步核對。
有問題的思路(概念示意,不是原始程式碼):
展開程式碼範例(python)
data = sock.read()
msg = cloudpickle.loads(data) # 還原時就可能執行資料中指定的函式
if not isinstance(msg, KnownMessage): # 檢查來得太晚
raise ValueError較安全的思路(通用原則示意,不是官方修補):
展開程式碼範例(python)
peer = authenticate(sock) # 先確認對方是叢集內受信任的成員
data = sock.read()
msg = parse_safe_format(data) # 對外部資料使用不會執行程式碼的格式
validate_type(msg)時間軸
| 日期 | 事件 |
|---|---|
| 2026-06-02 | CVE 編號保留 |
| 2026-10-13 | CVE 紀錄公開(CNA:VulnCheck) |
| 2026-10-14 | 未列入 CISA KEV;NVD 狀態為「Received」(已收到、尚未分析) |
延伸閱讀
- 評分差異:CNA 的 CVSS 4.0 為 9.3,CVSS 3.1 為 9.8。不同網站引用的分數不同,是因為 CVSS 版本不同,並不互相矛盾。NVD 尚未分析,沒有自己的分數。
- 利用狀況:截至 2026-10-14 未列入 CISA KEV。是否已遭實際利用、是否曾在修補前被利用,目前都沒有證據;CNA 的 CVSS 4.0 紀錄也未定義利用成熟度。
- 權限:程式碼以伺服器程序的身分執行。CNA 指出在 GPU 節點上常以 root 執行,這是常見情況,不是必然。
- 發現者:Valentin Lobstein(Chocapikk)。
- 廠商:證據中沒有 xorbitsai 的安全公告、安全 issue 或發布說明;本站取得的公開 issue 清單也沒有相關回報,但這不代表一定不存在。
驗證紀錄 AI 依審稿規則逐項核對來源,全部通過;未經人工審稿,也尚未在我們的環境重現
| AI 審稿 | 2026-10-14 · 審稿規則 |
|---|
驗證紀錄只寫環境與結果,不公開重現步驟或可攻擊他人系統的程式。詳見 政策.
來源
- CVE / NVD / OSVCVE-2026-49950 (CVE record, JSON) · CVE Program (CNA: VulnCheck), 2026-10-13 · 查閱 2026-10-14
- CVE / NVD / OSVNVD API - CVE-2026-49950 · NIST · 查閱 2026-10-14
- 安全公告Xorbits Xoscar Unauthenticated Deserialization RCE via Actor Pool · VulnCheck · 查閱 2026-10-14
- 安全公告GitHub Advisory Database entry for CVE-2026-49950 (GHSA-5rfg-55mw-4h28, unreviewed) · GitHub · 查閱 2026-10-14
- 其他CVE-2026-49950 scores · ThreatINT · 查閱 2026-10-14
- 研究文章CVE-2026-49950: Deserialization of Untrusted Data in xorbitsai xoscar · OffSeq Radar · 查閱 2026-10-14
- 廠商說明xoscar v0.11.2 socket.py · xorbitsai (GitHub) · 查閱 2026-10-14
- 廠商說明xoscar v0.11.2 serialization/core.pyx · xorbitsai (GitHub) · 查閱 2026-10-14
媒體簡報
一句話
Xoscar 是 Xorbits 開發的 Python 分散式運算框架。它的 0.1.0 到 0.11.2 版會把從網路收到的資料直接還原成程式物件,任何能連到其 actor-pool 連接埠的人都不需登入就能在伺服器上執行程式碼。這個漏洞的 CVE 於 2026 年 10 月 13 日公開,CNA 給出 CVSS 4.0 9.3 分;截至目前沒有任何來源指出修補版本。
關鍵數字
- 嚴重度
- CVSS 4.0 9.3(CNA);CVSS 3.1 9.8 cve.threatint.com
- 受影響版本
- xoscar 0.1.0 到 0.11.2(含) vulncheck.com
- CVE 公開日
- 2026-10-13 cveawg.mitre.org
- 發現者
- Valentin Lobstein(Chocapikk) vulncheck.com
- CNA
- VulnCheck(非廠商) cveawg.mitre.org
已確認
- xoscar 0.1.0 到 0.11.2 的 actor-pool TCP 管道存在不需認證的反序列化漏洞,可導致遠端執行程式碼(CNA 紀錄)。
- 廠商 v0.11.2 原始碼中,SocketChannel.recv() 會把從 socket 讀到的資料交給 deserialize() 處理。
- 截至 2026-10-14,未列入 CISA KEV。
尚未確認 / 說法不一
- 沒有任何來源指出修補版本或修補 commit,本站取得的證據中也未見廠商公告(不代表一定不存在)。
- 沒有證據顯示是否已遭實際利用,也無法確認是否在修補前就被利用。
- 原始碼快照中 unpickle_buffers() 內有 cloudpickle.loads 呼叫,但快照沒有行號,無法確認是否就是 CNA 引用的第 260 行;從 recv() 到該呼叫的完整路徑本站未逐步核對。
可引用的一句話
這個漏洞的問題在於:程式先把陌生人寄來的包裹拆開,才去看寄件人是誰。
圖片
引用時請標示「PlainCVE」並附上本頁連結。 完整引用格式見下方「如何引用本頁」。有事實錯誤請回報.
Xorbits Xoscar actor-pool 不安全反序列化:不需登入即可遠端執行程式碼 Xoscar 是 Xorbits 開發的 Python 分散式運算框架。它的 0.1.0 到 0.11.2 版會把從網路收到的資料直接還原成程式物件,任何能連到其 actor-pool 連接埠的人都不需登入就能在伺服器上執行程式碼。這個漏洞的 CVE 於 2026 年 10 月 13 日公開,CNA 給出 CVSS 4.0 9.3 分;截至目前沒有任何來源指出修補版本。 關鍵數字: - 嚴重度:CVSS 4.0 9.3(CNA);CVSS 3.1 9.8(https://cve.threatint.com/CVE/CVE-2026-49950) - 受影響版本:xoscar 0.1.0 到 0.11.2(含)(https://www.vulncheck.com/advisories/xorbits-xoscar-unauthenticated-deserialization-rce-via-actor-pool) - CVE 公開日:2026-10-13(https://cveawg.mitre.org/api/cve/CVE-2026-49950) - 發現者:Valentin Lobstein(Chocapikk)(https://www.vulncheck.com/advisories/xorbits-xoscar-unauthenticated-deserialization-rce-via-actor-pool) - CNA:VulnCheck(非廠商)(https://cveawg.mitre.org/api/cve/CVE-2026-49950) 已確認: - xoscar 0.1.0 到 0.11.2 的 actor-pool TCP 管道存在不需認證的反序列化漏洞,可導致遠端執行程式碼(CNA 紀錄)。 - 廠商 v0.11.2 原始碼中,SocketChannel.recv() 會把從 socket 讀到的資料交給 deserialize() 處理。 - 截至 2026-10-14,未列入 CISA KEV。 尚未確認 / 說法不一: - 沒有任何來源指出修補版本或修補 commit,本站取得的證據中也未見廠商公告(不代表一定不存在)。 - 沒有證據顯示是否已遭實際利用,也無法確認是否在修補前就被利用。 - 原始碼快照中 unpickle_buffers() 內有 cloudpickle.loads 呼叫,但快照沒有行號,無法確認是否就是 CNA 引用的第 260 行;從 recv() 到該呼叫的完整路徑本站未逐步核對。 「這個漏洞的問題在於:程式先把陌生人寄來的包裹拆開,才去看寄件人是誰。」— PlainCVE https://plaincve.date/vulns/cve-2026-49950-xoscar-actor-pool-deserialization-rce
如何引用本頁
本文採 CC BY 4.0,轉載請保留署名與連結。
PlainCVE 團隊(2026)。《Xorbits Xoscar actor-pool 不安全反序列化:不需登入即可遠端執行程式碼》。PlainCVE。https://plaincve.date/vulns/cve-2026-49950-xoscar-actor-pool-deserialization-rce(查閱日期:YYYY-MM-DD)BibTeX
@misc{cve202649950xoscaractorpooldeserializationrce2026,
title = {Xorbits Xoscar actor-pool 不安全反序列化:不需登入即可遠端執行程式碼},
author = {PlainCVE 團隊},
year = {2026},
howpublished = {PlainCVE},
url = {https://plaincve.date/vulns/cve-2026-49950-xoscar-actor-pool-deserialization-rce},
note = {更新於 2026-10-14}
}