10 月 26 日,Cloudflare 与推理引擎 SGLang 联合公开了一份漏洞报告,披露 Workers AI 上的 GLM-5.3 模型存在跨请求 KV Cache 泄露。总计 155 个响应被确认包含其他用户请求的数据,受影响请求的提示词长度全部超过 681280 token。
两个问题叠在一起
第一个是配置错误。Cloudflare 给 GLM-5.3 部署了 1048576 token 的上下文窗口,但预填充节点的 KV Cache 池只装得下 681280 token。这个不匹配在上线前是已知的,团队当时认为引擎会对处理不了的提示词直接报错,而长上下文测试也确实返回了成功响应。
第二个是 SGLang 的缺陷。在预填充与解码分离模式下,超长请求被内部标记为拒绝后,本该中止并返回客户端错误,实际却被替换成一个单 token 的占位符继续跑。预填充为占位符生成了 KV Cache 并传给解码节点,解码节点收到传输完成信号后,误以为之前的缓存已被完全覆盖,于是在残留的旧缓存页上生成了回应。结果就是后一个请求的答案里出现了前一个用户的内容。
从发现到修复的 20 小时
8 月 27 日模型上线,暴露期从上线当天就开始。9 月 8 日 23 时 11 分,安全研究员 Gadi Evron 通过 HackerOne 提交报告。9 月 9 日 8 时开始验证,13 时 22 分宣布安全事件,Product Security 用两个独立账号在 25 分钟内复现了泄露,14 时模型转为私有并返回 HTTP 400,14 时 35 分定位到根因,14 时 52 分全部预填充节点换成修正配置,19 时 04 分完成引擎补丁部署并用研究员的复现脚本验证,19 时 40 分恢复公开。
该缺陷早在 7 月 6 日已被另一位用户报告为 SGLang issue 30233。补丁在 v0.5.20 发布,v0.5.21、v0.5.22 跟进,Cloudflare 建议所有使用 SGLang 的部署至少升到 v0.5.22。
为什么这条值得单独看
仅 GLM-5.3 受影响,因为其它分离式部署的 KV 池都大于上下文长度,够不到这条拒绝路径。但这次事故暴露的是一整类 KV Cache 内存安全问题:一个页面被释放后仍被别人持有或读取。团队的长期方案是给每个物理 KV 页打上可随重分配变更的标签,读取前先校验。原型测试中吞吐与尾部延迟的额外开销低于 1%,但可靠性问题让它当时没能上线。
做自建推理的团队尤其该看一眼。站内记录的 清华 AKV 缓存工程如何压低智能体成本讲的是怎么把缓存用得更省,而这次事故讲的是缓存用得太省时会漏什么:KV 池必须装得下上下文窗口,且引擎要对超限请求老实报错。
延伸阅读
- 智谱 GLM-5.3-Flash 夜间免费用:9月3日至20日每晚23点至次日9点全免2 月前
- 杭州政府联合智谱推出全城 Coding 补贴计划,个人年卡最高享 5.1 折2 月前
- Cloudflare 文档提取 AI:19.3 秒 vs GLM-5.3 的 61.7 秒6 天前
- 智谱发布 GLM-5.3:基座没换只炼后训,编程提升 50% 登顶开源2 月前
继续读
同一批更新里这几篇值得一看:
- 清华开源AKV缓存工程:智能体成本降27.7%2026-10-27
- Cloudflare 文档提取 AI:19.3 秒 vs GLM-5.3 的 61.7 秒2026-10-21
- Cloudflare推出Clairic模型:输入每百万Token仅$0.102026-10-20
