Cloudflare的AI推論服務有155則回覆混入其他客戶的請求內容。當系統缺乏足夠記憶體處理長輸入時,推論引擎未能中止請求,導致先前請求的資料出現在回覆中。
Cloudflare於26日發布的事故報告指出,問題影響Workers AI上的GLM-5.3模型,期間為8月27日至9月9日。受影響的回覆全都來自輸入長度超過681,280個token的請求。155則是回覆數量,不代表客戶或受害者人數。
GLM-5.3是開發者可透過Workers AI呼叫的模型。Cloudflare表示,Workers AI的其他模型沒有發生相同問題。
事故涉及設定錯誤,以及開源推論引擎SGLang的處理失誤。Cloudflare將模型可接受的輸入上限設為1,048,576個token,但處理輸入的GPU,其KV快取僅能容納681,280個token。KV快取是AI讀取輸入時暫存計算結果的記憶體。
輸入超出快取容量後,SGLang在內部拒絕請求,並將其替換成只有一個token的替代輸入,但工作仍繼續傳送至負責生成回覆的GPU。生成過程中,GPU讀取了未被新請求覆寫的記憶體區域,殘留其中的先前客戶輸入或生成內容因而混入回覆。
客戶收到的是代表處理正常的HTTP 200回應,而非錯誤訊息。為了維持效能,記憶體區域不會在不同請求之間清除,而是由下一個請求覆寫,因此外部不易察覺異常。
Cloudflare承認,推出服務前測試長輸入時,雖確認了回應狀態與效能,卻沒有驗證生成內容是否正確。該公司知道輸入長度設定與實際快取容量存在落差,但原先認為推論引擎會對無法處理的輸入回傳錯誤。
安全研究員加迪·埃夫隆(Gadi Evron)於9月8日透過漏洞通報平台HackerOne回報問題。Cloudflare隔日宣布事故,約40分鐘後停止模型的公開存取,並修改設定與推論引擎,於同日恢復服務。
Cloudflare表示,除了自身測試與通報者的請求外,沒有在使用紀錄中發現有人蓄意反覆利用漏洞的證據。SGLang開發團隊也已修改處理方式,避免長請求遭拒後仍進入回覆生成階段。
Cloudflare已將修正與額外檢查程序套用至其他由SGLang運行的模型。模型部署前,團隊現在會直接核對執行中引擎的KV快取容量與輸入長度設定。
Cloudflare先前曾測試AI代理按請求計費功能。此次事故發生在AI模型處理請求的過程,與付款功能無關。
留言 0