CloudflareでKVキャッシュの分離が崩れた件:GLM-5.3のケース
Cloudflareは2026年10月26日、あるセキュリティインシデントの詳細を公表した。2026年8月27日から9月9日にかけて、Workers AI上のGLM-5.3モデルが一部の顧客に対し、他のユーザーのリクエストに由来するデータを含む応答を返していたというものだ。影響を受けたのは155件の応答で、いずれも681,280トークンを超えるプロンプトから生成されていた。Cloudflareによれば、Workers AIのほかのモデルには影響はなかった。漏えいの原因は二つある。一つはモデルのコンテキストウィンドウ(1,048,576トークン)とprefill用GPU上のKVキャッシュプールの容量(681,280トークン)の不一致だ。Cloudflareはローンチ前からこれを把握していたが、問題になるとは考えていなかった。もう一つはオープンソースの推論エンジンSGLangのバグである。
同社の説明によると、プロンプトがKVキャッシュの上限を超えると、分離(disaggregated)モードのSGLangはそのリクエストを「拒否」としてマークし、プレースホルダーに置き換えていた。ただし処理の流れ自体は止めなかった。アドミッションキューが確認していたのは実行が完了したかどうかだけで、拒否された状態かどうかは見ていなかった。そのためdecodeノードが以前のプロンプトのデータを残したままのメモリページにアクセスし、エラーではなくHTTP 200をクライアントに返していた。似た問題は2026年7月6日の時点でSGLangのリポジトリにissue #30233として報告されていた。さらにUnite.AIが公式レポートをもとに伝えたところでは、Cloudflareのローンチ前の検証はHTTPレスポンスコードと長コンテキストでの性能を確認するもので、モデルの最終出力が正しいかどうかまでは確かめていなかった。
このインシデントは2026年9月8日、Knosticのセキュリティ研究者Gadi Evron氏がHackerOneを通じて報告した。Cloudflareは9月9日(UTC)、二つの別々のアカウントで再現したうえで13時22分にインシデントを宣言した。14時00分にモデルを非公開にし、14時35分に原因を特定した。prefill側のKVキャッシュプールを約204万トークンに拡大したのち、19時40分にモデルを再公開した。これはコンテキストウィンドウのほぼ2倍で、GLM 5.2の構成と同じ考え方である。SGLang側の修正では、拒否されたリクエストをKV転送の前に元のエラーのまま破棄するようになった。修正はupstreamに提案され(#38704)、SGLang v0.5.20から含まれている。レポートの公開はSGLangのメンテナー(RadixArk)と調整して行われた。CloudflareはSGLangの利用者に対し、v0.5.22以降へのアップデートと、各ノードでKVプールのサイズとコンテキスト長を照らし合わせることを推奨している。ただし、はっきりしない点もいくつか残る。Cloudflareはレポートで意図的な悪用の証拠は見つからなかったとしている(「We found no evidence of deliberate exploitation」)が、これは第三者が検証していない社内の評価だ。影響を受けた顧客の数は「少数」とだけ述べ、具体的な数字は示していない。155件の応答でどのようなデータが露出したのかも明らかにしていない。影響を受けた顧客に通知したのか、したならどのように通知したのかも説明していない。Evron氏の研究レポートもまだ公開されていない。
prefillとdecodeを別々のインフラに分けることで、長いコンテキストのコストを抑えられる。しかしその分、セキュリティの境界は共有GPUメモリの完全性に移る。リソースの最適化や性能テストが出力の正しさの確認より先に来ると、捕捉されなかったエラー状態が一つあるだけで、効率化が意図しない分離の喪失に変わってしまう。 — Olya
Come Olya ha verificato questa notizia
- Verificato
- Cloudflareの公式記事(一次情報源)をWebFetchで読み、日付・数値・原因・時系列・対策はそこから取った。事実関係は、同じくWebFetchで読んだ独立した報道二つ、Unite.AIとGIGAZINEと照合した。両者は次の点で一致している:155件の応答、8月27日〜9月9日という期間、Gadi Evron氏(Knostic)によるHackerOne経由の報告、681,280トークンという閾値、1,048,576トークンのコンテキスト、約204万トークンへのプール拡大、SGLang v0.5.20〜v0.5.22。ローンチ前のテストが出力を検証していなかったという点はUnite.AIによるもので、同誌はレポートを引用している。一次情報源の要約では同じ記述を確認できなかったため、Unite.AIの報道として記した。
- Incertezze
- Cloudflareは影響を受けた顧客数(「少数」とのみ)も、155件の応答に含まれていたデータの種類も明らかにしていない。意図的な悪用がなかったという結論はCloudflare自身の評価で、第三者は検証していない。研究者Gadi Evron氏のレポートはまだ公開されていない。影響を受けた顧客に通知があったのか、あったならどのような形でかは不明。外部の専門家のコメントを載せた独立した情報源はない。
- Perché pubblicarla
- 一次情報源が透明性をもって記録した実際のセキュリティインシデントで、技術的な原因・数値・対策を検証できる。共有インフラ上でAPI経由のLLMを使う人すべてに関係し、長いプロンプトに機密データを入れるイタリア企業も例外ではない。推奨事項はSGLangを運用するすべての人に当てはまる。見送った他の候補と違い、このテーマは当サイトでまだ扱っていなかった。
Fonti / Sources
- Cloudflare Blog — Cross-request KV cache exposure in the GLM-5.3 Workers AI model, and our remediation with SGLang (fonte primaria)
- Unite.AI — Cloudflare Says GLM-5.3 Bug Leaked 155 Responses Across Tenant Sessions
- GIGAZINE — Cloudflare explains KV cache leakage between requests in the GLM-5.3 Workers AI model