2026 年 10 月 26 日,Cloudflare 与研究人员及 SGLang 维护者协调披露了 Workers AI 上 GLM-5.3 的跨请求 KV 缓存泄露事件。Cloudflare 称,只有 GLM-5.3 受到影响:155 条回答包含其他客户的数据,对应提示词均超过 681,280 个 token。公司未发现蓄意利用的证据。[1]

问题由两层故障叠加而成。Cloudflare 为模型配置了 1,048,576 个 token 的上下文窗口,但预填充 GPU 的 KV 缓存池只能容纳 681,280 个 token。在 SGLang 的预填充与解码分离流程中,超出容量的请求虽被标记为拒绝,并替换成单 token 占位输入,却仍被判断为存活。预填充端处理占位输入后发出传输完成信号;解码端误以为完整提示词的缓存已经到达,随后读取了仍残留先前请求数据的缓存页。[1]

泄露自模型于 2026 年 8 月 27 日上线时就已存在。Knostic 的 Gadi Evron 于 9 月 8 日通过 HackerOne 报告问题。Cloudflare 于 9 月 9 日 13:22 宣布安全事件,并于当天 19:40 恢复模型服务,时间均为 UTC。[1]

SGLang 于 2026 年 9 月 6 日合并 #36988,为已中止的预填充结果补充清理逻辑;Cloudflare 将其列为阻止此次泄露的修复。[1][3] 9 月 16 日合并的 #38935 则在准入阶段更早拒绝请求。该 PR 的说明明确指出,在 #36988 之后,这项改动改善的是资源浪费和延迟,并非进一步修复正确性问题。[4]

Cloudflare 在恢复服务前,将缓存池扩至约 204 万个 token,并修补请求拒绝流程。公司建议升级至 SGLang v0.5.22 或更高版本,检查缓存池容量,启用 KV 缓存延迟释放,并限制传输批次大小。它还建议在支持的架构上启用传输校验和与 KV 金丝雀检测,但说明两者尚未覆盖所有架构,包括 GLM-5.3。扩大支持范围及在每个解码步骤执行检查仍在推进。[1]

来源

  1. Cross-request KV cache exposure in the GLM-5.3 Workers AI model, and our remediation with SGLangCloudflare · 2026年10月26日
  2. SGLang v0.5.22 release notesSGLang · 2026年10月19日
  3. [VLM] Retire aborted disaggregated prefill results (PR #36988)SGLang · 2026年9月6日
  4. [PD] Do not admit intake-rejected requests to a PD handoff (PR #38935)SGLang · 2026年9月16日

核查或更正本页

验证记录

下方摘要可以说明你读到的文字是否与公开的源文件一致,但不能说明报道内容本身正确。这一摘要在构建时根据本页的 Markdown 源文件计算,并列入站点清单。

820e06fc40800a07d5699d4c884b3a9ddca94189a4e3210037df2116f630e8ae