How Cloudflare’s KV Cache Leak Put Session Boundaries In Focus
AIThis post was created with the assistance of artificial intelligence (AI).

🔍 Read the full analysis: How Cloudflare’s KV Cache Leak Put Session Boundaries In Focus 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 reported that its hosted GLM-5.3 service returned text from other customers’ requests in 155 responses between Aug. 27 and Sept. 9, 2026. The company attributed the leak to a mismatch in its KV-cache configuration combined with a bug in the SGLang inference engine; it says it found no evidence of deliberate exploitation.

Cloudflare says its hosted GLM-5.3 model returned text from other customers’ requests in 155 responses between Aug. 27 and Sept. 9, 2026, after a cache-capacity mismatch interacted with a bug in the SGLang inference engine. The disclosure matters because it shows how a failure in request handling can expose data across sessions even when the model itself is not responsible for generating the leaked text.

Cloudflare’s incident report, published Oct. 26, says the affected responses followed prompts longer than 681,280 tokens. The company traced the incident to two conditions: its prefill GPUs had a KV-cache pool sized for 681,280 tokens, while the model endpoint advertised a context window of 1,048,576 tokens; and SGLang did not properly stop rejected requests in Cloudflare’s split prefill-and-decode configuration.

In that setup, one GPU pool reads a prompt and builds its KV cache, while another uses the cache to generate a response. Cloudflare says an oversized request was replaced with a one-token placeholder during prefill, but the decode side could still read the pages reserved for the full request. Since cache pages were reused without being cleared between requests, some pages still held other users’ prompts and partial generations. The resulting response could return HTTP 200 rather than an error.

Cloudflare says a researcher reported the issue through its HackerOne program on Sept. 8. After declaring an incident on Sept. 9, the company took the model offline within 38 minutes and restored a fixed version that evening. It said its review found 155 affected responses over 14 days, excluding its own tests and the researcher’s requests from the count.

At a glance
reportWhen: Incident occurred Aug. 27–Sept. 9, 2026…
The developmentCloudflare’s October 26 incident report disclosed that a hosted AI model returned cross-customer text in 155 responses after a configuration mismatch and SGLang bug affected exceptionally long prompts.
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

How Cache Reuse Crossed Session Boundaries

The incident highlights a security boundary that hosted AI services must maintain: memory used for one request must not influence another customer’s response. KV caches hold intermediate representations of prompt tokens in GPU memory. Reusing that memory can improve performance, but safe reuse depends on correct allocation and request-state handling. Here, according to Cloudflare, the next request was expected to overwrite pages, while the faulty path allowed decode to read pages that prefill had not rewritten.

For customers, the reported exposure involved response text containing material from other requests, not a claim that every prompt or account was affected. The number is also specific: 155 responses, not necessarily 155 distinct customers or 155 complete prompts. Cloudflare’s report says the requests appeared consistent in timing and volume with ordinary long-context use rather than repeated exploitation. That assessment reduces evidence for an intentional attack, but it does not change the privacy implications of cross-session data appearing in a response.

The event also illustrates why testing only service availability is not enough for long-context systems. Cloudflare said it had tested HTTP response codes and engine performance at long context lengths but had not validated output content and coherence. A successful status code can therefore conceal a serious failure in the data returned to a user.

Products Worth Considering

Apple iPad Air (4th Generation, 10.9-inch, Wi-Fi, 256GB) - Space Gray

Apple iPad Air (4th Generation, 10.9-inch, Wi-Fi, 256GB) – Space Gray

Logitech MX Master 4 for Mac, Ergonomic Bluetooth Mouse with Haptic Feedback, Ultra-Fast Scrolling, USB-C Charging, for MacOS, iPadOS, Windo

Logitech MX Master 4 for Mac, Ergonomic Bluetooth Mouse with Haptic Feedback, Ultra-Fast Scrolling, USB-C Charging, for MacOS, iPadOS, Windo

As an affiliate, we earn on qualifying purchases.

The Configuration and SGLang Failure

Cloudflare says it knew before launch that the advertised context limit exceeded the capacity of the prefill KV pool. The company expected SGLang to return an error for requests that did not fit, and its long-context tests produced successful responses. In the incident report, Cloudflare acknowledged that those tests checked HTTP codes and performance, not whether the generated output was correct and coherent.

The second condition was in SGLang’s handling of rejected requests across separate prefill and decode queues. Cloudflare’s report says both queues checked whether a request had finished but not whether it had been rejected. As a result, decode could proceed using pages reserved for the full prompt even though prefill had written only a placeholder. Cloudflare says it found that the underlying SGLang issue had been reported publicly as issue #30233 on July 6, 2026, but its team noticed it only during the investigation.

Cloudflare identifies the affected endpoint as @cf/zai-org/glm-5.3. Its report says the model itself was not at fault: the exposure arose from service configuration and inference-engine behavior. The account of the incident comes from Cloudflare’s own report, alongside the researcher’s report through HackerOne.

“Pages are not currently zeroed between requests; the next request that gets a page simply overwrites it.”

— Cloudflare incident report

What the Incident Report Leaves Open

Cloudflare says it found no evidence of deliberate exploitation, but its report does not establish who authored every affected request or identify the customers whose text appeared in responses. It also does not specify how many distinct customers were affected, how much text from any one request appeared, or whether all exposed material was seen by another customer.

The supplied report does not say how affected customers were notified. It also does not provide a full account of what information was present in the exposed text or describe any customer-specific impact. Those details remain important for judging the scope of the privacy incident and what steps affected users may need to take.

The report attributes the failure to both Cloudflare’s configuration and an SGLang bug. The available details do not establish whether other services using SGLang encountered the same issue, or whether any other endpoints or model configurations were affected.

Customer Notices and Safeguard Changes

Cloudflare says it took the affected model offline after reproducing the leak and restored a fixed version later that day. The incident report describes that response, but the material available here does not give a schedule for additional public updates or say whether Cloudflare will publish a customer-by-customer impact assessment.

The next points to watch are whether Cloudflare clarifies customer notification and exposure scope, and whether it reports changes to long-context testing and request validation. The incident also leaves open what safeguards SGLang and other inference platforms will apply to ensure rejected requests cannot proceed through separate queues. Until those details are available, the disclosed count and technical explanation remain Cloudflare’s account of the incident.

Key Questions

What happened in the Cloudflare KV-cache incident?

Cloudflare says its hosted GLM-5.3 endpoint returned text from other customers’ requests in 155 responses between Aug. 27 and Sept. 9, 2026. The company attributed the issue to a KV-cache capacity mismatch and a bug in SGLang’s handling of rejected requests.

Which prompts could trigger the issue?

According to Cloudflare’s report, affected requests had prompts longer than 681,280 tokens. The model endpoint advertised a larger context window of 1,048,576 tokens, while the relevant prefill cache pool had capacity for fewer tokens.

Did Cloudflare report evidence of an attack?

No. Cloudflare said the timing and volume of the affected requests were consistent with ordinary long-context use rather than repeated exploitation, and that it found no evidence of deliberate exploitation. That is the company’s assessment of the traffic.

How did Cloudflare respond?

Cloudflare says it took the model offline 38 minutes after declaring an incident and restored a fixed version that evening. Its report says the issue was reported through HackerOne on Sept. 8.

Were affected customers notified?

The incident report described in the source material does not say how affected customers were told. It also does not state how many distinct customers were affected or give a detailed account of the exposed text.

Source: ThorstenMeyerAI.com

You May Also Like

The Role Of Cross-Domain Attacks In Compromising AI Ecosystems

Experts warn that multi-domain cyber, space, and information attacks can cascade, destabilizing AI systems and global infrastructure, with detection challenges increasing.

Why Claudeforce Could Be The Ultimate AI Solution For CRM Systems

Salesforce and Anthropic announced Claudeforce, integrating AI into CRM. Details on capabilities, availability, and security are still pending.

Before and After From the Same Camera: What a Construction Film Shows

“Where GewerkTon works” is a three-minute film through 64 sample buildings – homes, renovations, schools, hospitals, industry, energy, transport and data centres. Every building, plan and model was made by GewerkTon; all projects are fictional.

How A Study Compared Anthropic Claude’s And OpenAI’s Subscription Value

The Register reported a study favored Claude’s subscription over OpenAI’s, but the study, its methods and the plans compared are not identified.