Cloudflare's GLM-5.3 Workers AI endpoint leaked 155 cross-tenant responses through an SGLang KV cache bug
- Between August 27 and September 9, 2026, Cloudflare's GLM-5.3 Workers AI endpoint returned 155 responses containing data from other customers' sessions, all to prompts longer than 681,280 tokens.
- The trigger was a mismatch Cloudflare knew about before launch: a 1,048,576-token context window on a prefill GPU pool that held only 681,280 tokens of KV cache.
- An SGLang bug in disaggregated prefill/decode marked the over-length prompt as rejected and swapped in a one-token placeholder, so the decode node assumed the cache had been overwritten and generated a reply by attending stale pages from earlier requests instead of returning an error.
- Cloudflare resized the pool to about 2.04 million tokens and patched the engine so a pending rejection retires at the disaggregation admission queue before any allocation or KV transfer; the change went upstream as #38704, with #36988 already on main and #38935 merged after.
- Cloudflare said the request timing and volume matched ordinary long-context use, found no evidence of deliberate exploitation, and confirmed no other Workers AI model was affected.
Hacker News 의견들
I doubt most other providers even know this is happening on their own hardware, let alone care about it.
Maybe they isolate their KV stores better than Cloudflare did. Hard to tell from the outside.
This happened to me twice last year with ChatGPT dictation. I'd say one thing and get back a completely different message, not misheard, just a separate conversation entirely. Fits the KV cache theory.
Best RCA I've read in a while. They owned the mistake, explained why their long-context tests passed, and killed the model fast once the report landed.
That might explain a few times I got totally unrelated responses out of a provider's API. I always assumed it was just model weirdness.
I had sort of forgotten the shared tenancy attack model exists. Shared cache means isolation is best effort. Anyone with really sensitive data should be on dedicated hosts.
So they advertised 1,048,576 tokens while the prefill pool only had room for 681,280? And they knew that before launch?
Read the next line. They expected the engine to throw an error on anything it couldn't handle, and their long-context tests came back fine. A normal multi-turn coding session reaches 1M through cache hits, so a single 700k prefill almost never happens.
They knowingly shipped an overflow risk and assumed the equivalent of 'the smart pointers will save us'. That's a buffer overflow, just on a GPU.
Is this actually a new class of tenant isolation bug, or just old fashioned GPU allocation collisions?
Just allocations colliding. Nothing to do with GLM. This is an SGLang bug and a Cloudflare config bug, the model could have been anything.
Nobody claims the model is at fault, and the post says exactly that. The model name is in the title because customers need to know which endpoint was affected.
'The GLM-5.3 Workers AI model' is pretty clearly a Cloudflare product name too. If the title just said 'GLM-5.3' I'd agree it was sloppy.
Who even sells single tenant inference? Every serverless offering shares GPUs under the hood.
That's just renting GPU clusters with extra steps, and you can still find traces of the previous tenant if cleanup is sloppy.
Reminds me of a browser testing service I found leaking clipboard contents between iOS VMs. I pulled a clipboard and got another user's credentials. They offered me a signed thank-you letter instead of a bounty.
Honestly surprised more serverless inference providers haven't found, or admitted to, something like this yet.
Six months ago a basic Claude prompt at work came back with very specific unrelated info that looked like it came from a colleague. Anthropic told us it wasn't possible and that the model just makes mistakes sometimes.