Inside The Cloudflare Bug: AI Answers In Stranger Sessions
AIThis post was created with the assistance of artificial intelligence (AI).

🔍 Read the full analysis: Inside The Cloudflare Bug: AI Answers In Stranger Sessions on ThorstenMeyerAI.com

Before you orderOffer from Amazon

Get the latest gadgets delivered free with Prime

  • Fast, free delivery on millions of items
  • Prime Video, Amazon Music and more included
  • Member-only deals all year
Start your free Prime trial Free trial for eligible customers · Cancel anytime
As an affiliate, we earn on qualifying purchases.

TL;DR

Cloudflare’s incident report says its hosted GLM-5.3 model returned 155 responses containing text from other customers’ requests between August 27 and September 9, 2026. A configuration mismatch and a bug in the SGLang inference engine allowed oversized prompts to reach decoding with stale GPU memory. Cloudflare says it took the model offline, deployed a fix and found no evidence of deliberate exploitation.

Cloudflare disclosed October 26 that its hosted GLM-5.3 model returned 155 responses containing data from other customers’ requests over a 14-day period. The company attributed the leak to a mismatch between the model’s advertised context window and available GPU memory, combined with a bug in the open-source SGLang inference engine; it said it found no evidence of deliberate exploitation.

Cloudflare’s report says the affected endpoint was @cf/zai-org/glm-5.3, and that only prompts longer than 681,280 tokens could trigger the issue. The model was configured to accept a context window of 1,048,576 tokens, but the memory pool used to hold the prompt’s intermediate data was smaller. Cloudflare said the requests associated with the 155 responses appeared consistent in timing and volume with ordinary long-context use, after excluding its own tests and the researcher’s.

The company described two faults that combined. Its configuration allowed prompts beyond the memory pool’s capacity, while SGLang mishandled requests that could not fit: in Cloudflare’s split prefill-and-decode setup, queues checked whether a request had finished but not whether it had been rejected. The decoder then read reserved memory pages that prefill had not overwritten. Cloudflare said those pages still contained other users’ prompts and partial generations. Affected clients received HTTP 200 responses rather than an error.

Security researcher Gadi Evron of Knostic reported the issue through Cloudflare’s HackerOne program on September 8, according to the report. Cloudflare began verification the following morning, declared an incident at 13:22 UTC and took the model offline 38 minutes after that declaration. It restored a fixed version later that evening. The report says Cloudflare found the underlying SGLang issue, filed as issue #30233 on July 6, during its investigation.

At a glance
reportWhen: Incident ran August 27–September 9, 202…
The developmentCloudflare published an incident report detailing a cross-customer data leak in its hosted GLM-5.3 model and the fix it deployed.
Thorsten Meyer AI
Cloudflare Workers AI · GLM-5.3

Infographic 01 · Cross-request KV cache exposure

How a long prompt read someone else's data.

A memory pool smaller than the advertised context window, plus an engine bug that let rejected requests through, made one hosted model attend over other customers' leftover pages.

155responses that contained other customers' data
14 daysexposure window, 27 Aug to 9 Sep 2026
38 minfrom declaring the incident to taking the model offline
noneevidence of deliberate exploitation, per Cloudflare

The mismatch

tokens; Cloudflare knew before launch and expected an error

  • Context windowadvertised1,048,576
  • KV pool before the fixprefill GPUs681,280
  • KV pool after the fixabout twice the window~2.04 M

Only prompts longer than 681,280 tokens could reach the faulty path.

The eight pages

Cloudflare’s own example of one over-long request

P0written now
P1left over
P2left over
P3left over
P4left over
P5left over
P6left over
P7left over

written by this requeststill holding earlier users’ prompts and replies

  1. Decode reserves 8 pages for the long prompt.
  2. Prefill rejects it and swaps in a one-token placeholder…
  3. …but the rejected request still passes the handoff checks.
  4. Prefill writes one page; decode reads all eight.
  5. The client gets HTTP 200 and a coherent reply, partly built on someone else’s data.

Why pages hold old data

speed trade-off

  • GPU memory is a shared pool of fixed-size pages
  • Pages are not zeroed between requests; the next one overwrites
  • Bookkeeping is the only wall between customers

The fix

9 Sep, 19:40 UTC

  • Pool resized so every valid prompt fits
  • Engine retires rejected requests before any memory transfer
  • Upstream: SGLang v0.5.20 to v0.5.22; operators should run v0.5.22+

Still open

not in the report

  • Whether and how affected customers were notified
  • How many customers’ requests contributed the leaked data
  • What kind of data it was

Sources: Cloudflare incident report (26 Oct 2026); SGLang/LMSYS (26 Oct 2026). Figures and the no-exploitation finding are Cloudflare’s own.
Powered by Thorsten Meyer AI

Why Cross-Session Memory Matters

The incident shows that an AI service can expose customer information through inference infrastructure, even when the model itself is not the source of the flaw. Cloudflare said the GLM model was not at fault: the problem arose in how the service allocated and transferred memory between requests. For customers sending code, documents or other private material to a hosted model, that distinction does not reduce the potential impact. Their data may still appear in another customer’s answer.

The report also highlights a tension between performance and isolation. Cloudflare said KV-cache pages are not zeroed between requests because the next request is expected to overwrite them, a practice it described as common and useful for performance. In this case, that safeguard depended on correct request handling. When an oversized request was rejected in one part of the system but treated as active in another, old page contents remained accessible to a later decoding step.

Cloudflare’s finding of 155 affected responses gives the incident a defined scope, but it does not establish how many customers were involved or what kinds of information appeared in the responses. The event matters to operators of hosted AI services because it points to the need to test returned content and data isolation—not just successful HTTP status codes and performance—at extreme context lengths.

KitchenAid Artisan 5-Quart Tilt-Head Stand Mixer, Almond Cream

KitchenAid Artisan 5-Quart Tilt-Head Stand Mixer, Almond Cream

As an affiliate, we earn on qualifying purchases.

How the Memory Mismatch Worked

When a language model processes a prompt, it stores intermediate calculations in a key-value cache, or KV cache, so it can generate each next token without processing the full prompt again. These caches occupy GPU memory. In Cloudflare’s system, one GPU pool processed prompts and built the cache; another pool used it to generate answers. The service allocated cache space in pages that could be reused between requests.

Cloudflare said it expected prompts that exceeded available memory to produce an error. Instead, the SGLang bug replaced a rejected request with a one-token placeholder in the prefill stage, while the decode stage retained space reserved for the original, much longer prompt. It could then read pages that had not been written for that request. Cloudflare said the only apparent signal in the affected responses was that they arrived faster than expected; they still returned a successful status and could appear coherent.

According to the report, Cloudflare had known about the difference between the 1,048,576-token advertised window and the 681,280-token memory capacity before launch. It expected the engine to reject prompts that did not fit. The company said its long-context tests checked HTTP response codes and engine performance, but did not check model output and coherence. That testing gap allowed the configuration and engine behavior to go undetected before deployment.

“The requests are consistent in timing and volume with ordinary long-context use, not with someone repeatedly exploiting the bug.”

— Cloudflare, in its incident report

What the Report Does Not Specify

Cloudflare’s public report does not say how many customers were affected, what categories of customer data appeared in the responses, or whether any recipient recognized or reported another user’s material. The figure of 155 refers to affected responses, not necessarily 155 customers or 155 separate data records. The report also does not explain how affected customers were notified.

Cloudflare said it found no evidence of deliberate exploitation and that the request pattern looked like ordinary long-context use. That is the company’s assessment of the evidence it reviewed; the published account does not provide customer-level details or a full description of what data each response contained. It is also not clear from the supplied report whether the SGLang issue has since been fixed upstream or how its maintainers responded.

Fixes and Customer Notifications

Cloudflare says it took the model offline after declaring the incident and restored a fixed version that evening. Its report describes the repair but the available material does not detail the safeguards now in place, such as how oversized prompts are handled across both GPU pools or whether additional output checks have been added.

The next information readers need is whether Cloudflare has notified affected customers and what data, if any, was exposed in each response. Further clarification from Cloudflare or the SGLang project could also establish whether the software issue has been addressed for other operators using the same inference engine. Until those details are public, the incident’s customer-level impact remains unresolved.

Key Questions

What happened in the Cloudflare incident?

Cloudflare says its hosted GLM-5.3 endpoint returned 155 responses containing text from other customers’ requests between August 27 and September 9, 2026. The issue required prompts longer than 681,280 tokens and resulted from a configuration mismatch combined with an SGLang bug.

Was the GLM-5.3 model itself responsible?

Cloudflare attributed the issue to its serving configuration and inference engine, not to the GLM model. The failure involved memory allocation and request handling between the prefill and decode stages.

Did Cloudflare find evidence of an attack?

No. Cloudflare said the affected requests appeared consistent with ordinary long-context use, rather than repeated deliberate exploitation. That is the company’s assessment in its incident report.

How did Cloudflare respond?

After a researcher reported the issue on September 8, Cloudflare investigated, declared an incident the next day, took the model offline 38 minutes after the declaration and restored a fixed version later that evening.

How many customers were affected, and were they notified?

The report counts 155 affected responses but does not say how many customers those responses involved. It also does not state how affected customers were notified or specify what types of information appeared in the responses.

Source: ThorstenMeyerAI.com

You May Also Like

Leading Open Hardware Router Trends With OpenWrt One

Analysis of OpenWrt One, a new open hardware router, highlighting its significance for small software companies and the evolving open hardware landscape.

How To Test Claude’s New Ability To Work With Android Apps

Anthropic says Claude can work with Android apps, but available reporting lacks details on supported tasks, access, and a comparison with Gemini.

How To Scale Indic Pretraining With 2.8 Trillion Tokens

NVIDIA and AI4Bharat plan to release a 2.8 trillion-token corpus across 22 Indian languages, with a GPU-accelerated data-generation pipeline.

OpenAI’s Jalapeño Chip: Leading Or Lagging In The AI Race?

OpenAI releases initial results for Jalapeño, its custom inference chip, showing strong efficiency against NVIDIA but with limitations on deployment and scope.