觀點 · 資訊分享
GPU 叢集管理工具 GPUStack 漏洞遭實際利用:躲在反向代理後面,外人就變成管理員
開源 GPU 叢集管理工具 GPUStack 2.2.0 以前的版本,會把「來自本機」的請求直接當成管理員;放在同機反向代理後面時,所有外部請求都像來自本機。CISA 11 月 9 日將它列入已遭利用漏洞清單,要求 3 天內處理。
- 發布
- 2026-11-09
- 篇幅
- 約 4 分鐘 · 1,938 字
- 結構
- 7 節 + 4 題常見問題
- 標籤

一句話看懂:GPUStack 舊版把「來自本機」的請求當成管理員,放在反向代理後面時等於對所有人敞開大門;這個漏洞已被實際利用,CISA 11 月 9 日列入必修清單。

先用白話講:「信任本機」為什麼危險?
想像一棟大樓的管理室規定:「從大樓內線打來的電話,一律當成主委本人。」聽起來合理,外人打不了內線嘛。
問題是,大樓門口的總機會把所有外線電話轉接成內線。結果路人打電話進來,管理室看到的都是「內線來電」,於是照單全收。
反向代理(例如 Nginx)就是這個總機:它擋在服務前面幫忙轉送請求。如果代理和服務在同一台機器上,服務看到的連線來源永遠是 127.0.0.1(本機)。
發生什麼事
- GPUStack 是開源的 GPU 叢集管理工具,用來集中管理多台顯示卡機器、部署 AI 模型
- 2.2.0 以前的版本,在預設設定(
force_auth_localhost為 false)下,會把來自本機的請求直接當成內建管理員 - 兩種情況會被誤判成本機:同機反向代理轉送的請求,以及帶有偽造
X-GPUStack-Real-IP標頭的請求 - 結果是不需任何帳密就能拿到管理權:改使用者與模型、建立長期有效的管理員存取憑證、讀取工作節點與雲端供應商的機密設定,還能透過自訂推論後端在工作節點上執行程式
- 專案早在 7 月 31 日就發布安全公告,並記錄有一台 2.1.1 部署已遭實際利用;修補版 2.2.0 在 6 月 18 日釋出
- NVD 在 11 月 4 日公開 CVE-2026-102895,CVSS 9.8;11 月 9 日 CISA 列入已遭利用漏洞清單(KEV),要求聯邦機關在 11 月 12 日前處理
該怎麼因應
| 狀況 | 建議做法 |
|---|---|
| 可以升級 | 直接升到 2.2.0 以上 |
| 暫時不能升級 | 把 force_auth_localhost 設為 true,本機請求也要驗證 |
| 前面有反向代理 | 在代理層移除使用者送來的 X-GPUStack-Real-IP 標頭 |
| 服務對外開放 | 改走 VPN 或在入口加一層驗證,不要直接曝露在網路上 |
給開發者的技術細節
- 問題出在
gpustack/api/auth.py的get_current_user:用「請求的網路來源」當成身分驗證依據 client_ip_getter會接受同機代理的 TCP 連線來源,也會接受使用者自己送來的 IP 標頭- 2.2.0 的修法是整個移除「本機自動當管理員」的路徑,並只接受可信閘道傳來的真實 IP 標頭
- 弱點分類:CWE-287(認證不當)、CWE-290(偽冒繞過認證)、CWE-346(來源驗證錯誤)
升級後別只看版本號。漏洞能建立長期有效的存取憑證,攻擊者可能早就留了後門,建議逐一檢查管理員帳號、存取憑證與自訂推論後端,並更換曾存放在系統裡的雲端憑證。
我的看法
這個漏洞的模式在自架服務很常見:「本機來的就放行」在開發時很方便,一旦前面加了 Nginx 或 NAS 內建的反向代理,假設就整個崩掉。自架 AI 服務的人特別容易踩到,因為大家習慣把 Web 介面接在反向代理後面,再開個網址從外面連。
我的原則是:任何服務都不要用 IP 來判斷身分,自己寫的程式也一樣。要讀真實 IP 的標頭,只能信任自己的代理送來的,並在代理層先把使用者送進來的同名標頭清掉。另外,GPU 機器通常也放著模型和雲端憑證,被拿下的代價比一般網站更高。
名詞小辭典
- 反向代理(Reverse Proxy):擋在服務前面、幫忙轉送請求的伺服器,常用來處理 HTTPS 與網址分流。
- Loopback(本機位址):127.0.0.1,代表「這台機器自己」。
- CISA KEV:美國網路安全局維護的「已確認遭實際利用漏洞」清單,列入代表已有攻擊發生。
- CVSS:漏洞嚴重度評分,0 到 10 分,9 分以上屬於嚴重。
資料來源
常見問題
GPUStack 是什麼?
一套開源的 GPU 叢集管理工具,可以把多台有顯示卡的機器集中管理,用來部署和提供 AI 模型推論服務。
我沒用反向代理,也會中嗎?
仍有風險。安全公告寫明,偽造一個特定的 IP 標頭也能讓請求被當成來自本機;只要版本低於 2.2.0、服務能被外部連到,就應該處理。
已經升級了,還要做什麼?
因為漏洞允許建立長期有效的管理員存取憑證、讀取雲端供應商的機密設定,升級後建議檢查是否有不認得的使用者、模型後端與存取憑證,並更換曾存在系統裡的雲端憑證。
這個漏洞是 11 月才發現的嗎?
不是。GPUStack 專案在 7 月 31 日就發布了安全公告,修補版 2.2.0 更早在 6 月 18 日釋出;11 月 4 日 NVD 才公開 CVE 頁面,11 月 9 日被 CISA 列入已遭利用清單。
接著讀
全部觀點 →Open WebUI 0.13.1:Claude Code、Codex 變成可選的模型,但用內網 http 連線的人請直接升 0.13.2自架 AI 介面 Open WebUI 推出 0.13.1:程式代理可以當模型聊天、新增桌面連線工具 Tether、工具對話更省錢,還含未公開細節的安全修補。同一天的 0.13.2 修好內網 http 連線卡住的問題。閱讀 →WordPress 升級空檔漏洞已遭利用:CISA 列入清單限 3 天修補,4.7 到 7.1.3 都受影響WordPress 核心在升級過程中會把檔案放在猜得到、又能從網路存取的暫存位置,攻擊者不用登入就可能趁升級空檔執行程式。官方 10 月 28 日已在 7.1.4 修補,CISA 11 月 3 日確認已遭利用並列入清單。閱讀 →Linux 核心漏洞 Fragnesia 列入 CISA 利用清單:5 月已修,現與 PHP2Shell 串成 root 攻擊鏈CISA 在 10 月 28 日把 Linux 核心漏洞 CVE-2026-46300(Fragnesia)列入已遭利用清單,聯邦機關限 10 月 31 日前修補。這個 5 月就公開修補的本機提權漏洞,現在被接在 PHP2Shell 兩個遠端漏洞後面:先用 PHP 洞進門,再用它改寫唯讀檔案的快取拿到 root。閱讀 →