metir
metir
Docs
Download on App StoreGet it on Google PlayLog inSign up
Back to Blog
Cloudflare
Workers AI
AI Security
SGLang
GLM

Cloudflare's GLM 5.3 Data Exposure: How a KV Cache Mismatch Leaked Responses

Cloudflare disclosed 155 Workers AI responses exposed across customers through a GLM 5.3 cache misconfiguration and an SGLang bug. Root cause, timeline and lessons.

Metir AI TeamOctober 29, 20266 min read
Cloudflare's GLM 5.3 Data Exposure: How a KV Cache Mismatch Leaked Responses

Cloudflare disclosed on October 26, 2026 that a configuration mismatch in its Workers AI service, combined with a bug in the SGLang inference engine, caused some long-prompt requests to the GLM 5.3 model to receive another customer's data. The company identified 155 affected responses between August 27 and September 9 and found no evidence of deliberate exploitation. All details below come from Cloudflare's remediation post.

155Affected responses
681,280Tokens above which prompts were affected
Aug 27 to Sep 9Exposure window
GLM 5.3 onlyModel affected, per Cloudflare

What happened

An inference server keeps a key-value (KV) cache, the stored attention state for tokens already processed, so it does not recompute them. In a disaggregated setup, one set of nodes does the prefill (reading the prompt) and another does the decode (generating the answer), and the cache is transferred between them.

Cloudflare launched GLM 5.3 on Workers AI on August 27 with a prefill KV pool of 681,280 tokens, smaller than the model's 1,048,576-token context window. The company says it knew of the mismatch before launch but did not treat it as a problem, because its long-context tests returned successful HTTP responses.

Cache pool versus context window

Tokens. A prompt longer than the pool could not be held safely, but the context window allowed it.

GLM 5.3 prefill KV pool at launch
681,280
GLM 5.3 context window
1,048,576
Prefill KV pool after fix (about)
2,040,000

The launch pool held about 65% of the context window (681,280 / 1,048,576).

The second ingredient: an engine bug

The mismatch alone should have produced rejections. Cloudflare says a bug in SGLang's disaggregated mode turned a rejection into a leak: an over-length request was marked rejected and replaced with a one-token placeholder instead of being aborted. The admission queues checked whether a request was finished, not whether it was rejected, so the request continued through KV transfer. The decode stage then attended over stale KV pages left by earlier requests, and the client received an HTTP 200 containing another user's data.

Affected prompts were all longer than 681,280 tokens, and Cloudflare said the affected requests looked like ordinary long-context use.

“

We only validated HTTP response codes and engine performance at long contexts, without validating model output and coherence.

Cloudflare, on the testing gap

Timeline

Date (UTC)Event
Aug 27GLM 5.3 launches with the smaller pool
Sep 8, 23:11Researcher report received via HackerOne
Sep 9, 13:22Incident declared and leak reproduced with two accounts
Sep 9, 14:00Model set to private, returning HTTP 400
Sep 9, 14:52Prefill nodes rolled to corrected configuration
Sep 9, 19:40Model restored to public
Oct 2 and Oct 19SGLang v0.5.21 and v0.5.22 released
Oct 26Coordinated publication

Source: Cloudflare. From report to private took under 15 hours; the public disclosure came about seven weeks after the fix.

Remediation

Cloudflare matched the GLM 5.3 configuration to GLM 5.2, raising the prefill pool to about 2.04 million tokens, roughly twice the context length. It patched SGLang so requests with pending rejections are retired at the admission queue with their original error before any allocation or transfer, and validated both changes against the researcher's reproduction and internal canaries. Upstream fixes landed in SGLang v0.5.20, v0.5.21 and v0.5.22, with deferred KV release enabled by default, bounded transfer batches, and per-transfer checksums added for observability. Deployment checks now compare KV pool size against context length.

Reception area of a Cloudflare office with the Cloudflare logo behind a wooden desk
A Cloudflare office reception area. The photo is an earlier picture of the company's offices and is unrelated to the incident. Image: HaeB, Wikimedia Commons, CC BY-SA 4.0.

Longer term, the company says it is developing page-level integrity tags in SGLang to detect reads of pages a request does not own, noting that an internal prototype cost under 1% in throughput and tail latency but was disabled for reliability reasons, and applying formal verification to its RDMA-based KV transfer protocol.

What the incident teaches

  • A 200 is not correctness. Success codes and throughput checks cannot detect a response that is well formed but wrong. Cloudflare names this as its own gap.
  • Two safe-looking components can combine unsafely. A known configuration mismatch and a rejection-path bug were each tolerable alone.
  • Shared inference needs isolation checks. Multi-tenant caches are a new class of boundary, similar in spirit to the cross-tenant risks discussed in our coverage of AI provider concentration.
  • Scope is narrow but real. 155 responses is small against total traffic, but the content of each is by definition someone else's data.

For teams choosing where to run models, the practical question is what tests a provider runs on output integrity, not only availability. Metir supports several model providers, so an incident at one host does not have to halt a workflow.

Sources:

  • KV cache exposure remediation - Cloudflare Blog
  • Everything That Happened in AI Today, Wednesday, October 28 - The Neuron

Image credits

Header and in-body image: Cloudflare office entrance area by HaeB, Wikimedia Commons, CC BY-SA 4.0 (source).

Ready to experience AI that adapts to you?

metir brings together the world's best AI models in one seamless experience. Start for free today.

Get Started Free
metir

metir is where work gets done. Hire your team of Orbs, AI teammates with their own computer, alongside your mail, meetings and workspace.

© 2026 metir. All rights reserved.

Product

  • Features
  • Pricing
  • Research
  • Docs
  • Blog
  • Enterprise

Company

  • Docs
  • Support
  • Careers

Legal

  • Terms of service
  • Privacy policy

Personalisation is powerful. Privacy is non-negotiable.

Status: All systems operational