原文標題:Cross-request KV cache exposure in the GLM-5.3 Workers AI model, and our remediation with SGLang

Cloudflare 於 10 月 26 日公開 Workers AI 模型 GLM-5.3 的跨租戶資料隔離事故。問題從 8 月 27 日該模型上線時存在,直到 9 月 9 日修復。在這段期間,共有 155 筆模型回應夾帶其他客戶較早請求中的內容;所有受影響的請求都超過 681,280 個 token。Cloudflare 表示,排除研究人員與內部測試後,現有紀錄未顯示有人刻意利用此漏洞。

事件由 Knostic 研究人員 Gadi Evron 於 9 月 8 日透過 HackerOne 通報。Cloudflare 次日確認問題後將 GLM-5.3 暫停公開服務,並在同一天完成修補與恢復。官方確認只有 Workers AI 的 GLM-5.3 受此問題影響,其他託管模型並未受影響。

根因包含部署設定與推論引擎兩層缺陷。GLM-5.3 宣告支援 1,048,576-token 上下文,但前置運算(prefill)GPU 的 KV cache pool 僅能容納 681,280 token。當輸入長度超過快取池容量時,SGLang 在分離式 prefill/decode 模式下將請求標為拒絕,卻未將拒絕狀態正確傳遞到解碼節點。

受影響請求被替換為僅一個 token 的佔位輸入,解碼節點仍依原始請求長度保留快取頁面。由於部分頁面沒有被新請求覆寫,解碼過程可能讀取前一位使用者殘留的 KV cache,並產生 HTTP 200 的正常回應,而非應有的錯誤。這也說明只檢查 HTTP 狀態碼無法辨識此類模型輸出污染。

Cloudflare 將 prefill KV 快取容量調整至約 204 萬 token,約為模型上下文上限的兩倍,並修正推論引擎的拒絕請求處理流程。9 月 9 日 19:40 UTC 已恢復模型公開服務。隨後 Cloudflare 與 SGLang 維護者持續修補 KV 頁面生命週期、跨節點傳輸與中止流程的競態問題,並對所有使用 SGLang 的模型部署新增容量與修補檢查。

SGLang 的相關修補分別進入 v0.5.20、v0.5.21 與 v0.5.22。Cloudflare 建議自行運行分離式 SGLang 推論系統的業者更新至 v0.5.22 或更新版本,或自行回補必要修補。10 月 26 日的報告是與研究人員及 RadixArk 協調後的公開揭露,並非當天才發現的事件。

Cloudflare 公開的時間軸指出,9 月 9 日 13:22 UTC 宣告事故,14:00 將 GLM-5.3 設為私有並讓請求回傳 HTTP 400;14:35 找出 prefill 快取池小於上下文長度的根因,14:52 推送修正配置,19:04 完成包含拒絕流程修補的完整部署,19:40 才恢復公開。這些時間均為 UTC,與台北時間相差八小時,不能直接視為台北時間。

技術上,Workers AI 以 SGLang 將 prefill 與 decode GPU 分離,利用 Mooncake 與 RDMA 傳送 KV cache。快取由可重用的 GPU 記憶體頁面組成,頁面通常不會在不同請求之間逐一清零,而由引擎追蹤頁面所有權與覆寫狀態。當過長請求在 prefill 端被拒絕,decode 卻收到「傳送完成」訊號時,未被新輸入覆寫的舊頁面就可能被模型當成目前上下文。Cloudflare 承認上線前測試只檢查 HTTP 成功狀態與效能,沒有充分檢查長上下文輸出的連貫性。

修正措施不只擴大 KV pool 至約 204 萬 token,也要求拒絕請求在分離式排程入口就停止,並檢查實際傳送的 token 數與 decode 預留數量一致。Cloudflare 與上游 SGLang 維護者協調處理 abort acknowledgement、跨節點傳輸 checksum、延遲釋放 KV 頁面與傳輸競態,並加入部署前自動核對上下文長度與快取容量的檢查。官方表示修補已在 SGLang v0.5.20 至 v0.5.22 逐步釋出,建議營運者更新至 v0.5.22 或更新版本。

此次共 155 筆受污染回應,並非 155 個已確認獨立受害帳號。Cloudflare 說明經排除內部與研究人員測試後,沒有觀察到蓄意利用的證據,但仍不能由此推論敏感內容完全沒有暴露。這是針對特定 GLM-5.3 模型的已修復事故,並非所有 Workers AI 模型同時發生外洩。

發生了什麼事

Cloudflare 公開 GLM-5.3 在 Workers AI 的跨請求快取隔離問題,受影響期間為 8 月 27 日至 9 月 9 日,官方確認共有 155 筆回應受到影響。

為什麼重要

事件凸顯多租戶 AI 推論的 KV cache 不只影響效能,也屬於資料隔離邊界。分離式 prefill/decode 架構若未正確處理拒絕請求,可能把前一個租戶的內容帶入下一個回應。

影響哪些人

曾使用該模型處理極長上下文的 Workers AI 客戶,以及自行部署 SGLang 分離式推論系統的維運團隊,應檢查部署設定、引擎版本與事件通知。

已確認與未確認

官方已確認修復並恢復服務,且沒有發現刻意濫用的證據;這不等於證明沒有資料被第三方看到。個別客戶受影響內容與後續通知情形仍應由 Cloudflare 直接確認。