Cloudflare’s KV Cache Leak: AI Answers, Session Privacy, And Spam
AIThis post was created with the assistance of artificial intelligence (AI).

🔍 Read the full analysis: Cloudflare’s KV Cache Leak: AI Answers, Session Privacy, And Spam on ThorstenMeyerAI.com

Before you orderOffer from Amazon

Get smart everyday buys 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 says a configuration mismatch and an SGLang inference-engine bug caused 155 responses from its hosted GLM-5.3 model to contain text from other customers’ requests. The company says the issue affected prompts longer than 681,280 tokens, took the model offline after confirming an incident, and found no evidence of deliberate exploitation. A separate AI-generated vulnerability-report surge highlights growing pressure on security triage teams.

Cloudflare disclosed that its hosted GLM-5.3 model returned 155 responses containing text from other customers’ requests between August 27 and September 9, 2026. The company attributed the exposure to a mismatch in its long-context configuration combined with a bug in the open-source SGLang inference engine, and said the issue could be triggered only by prompts longer than 681,280 tokens.

Cloudflare’s incident report, published October 26, says security researcher Gadi Evron of Knostic reported the issue through the company’s HackerOne program on September 8. Evron said very long prompts sent to the @cf/zai-org/glm-5.3 endpoint sometimes returned text belonging to other users’ sessions. Cloudflare investigated and counted 155 affected responses over 14 days, excluding its own tests and the researcher’s activity.

The company identified two faults. Its prefill GPUs had a KV-cache pool sized for 681,280 tokens, despite the endpoint advertising a context window of 1,048,576 tokens. SGLang then mishandled requests that exceeded the available pool: in Cloudflare’s split prefill-and-decode setup, queues checked whether a request had finished but not whether it had been rejected. As a result, the decode stage could read cache pages that had not been overwritten for that request.

Cloudflare said it took the model offline 38 minutes after declaring an incident and restored a fixed version later that evening. It said the affected requests’ timing and volume were consistent with ordinary long-context use, rather than repeated attempts to exploit the flaw. The company also said it found no evidence of deliberate exploitation.

At a glance
reportWhen: Incident occurred August 27–September 9…
The developmentCloudflare’s October 26 incident report disclosed that a KV-cache handling bug exposed text from other customers’ requests in 155 hosted GLM-5.3 responses.
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 Shared GPU Memory Matters

The incident shows how a failure in inference infrastructure can expose data even when the underlying AI model is not itself compromised. KV caches hold intermediate information used to generate responses. If the system’s allocation and request-handling controls fail, data left in reused GPU memory may become available to another request.

For customers, the reported risk is not limited to an inaccurate answer: a model response could include text from another customer’s prompt or partial output. That can matter for confidential code, business documents, or other sensitive material sent to a hosted service. Cloudflare’s report gives a specific affected-response count, but does not establish what information those responses contained or whether individual customers recognized the exposure.

The report also points to a testing gap. Cloudflare said its long-context checks examined HTTP status codes and engine performance without validating the output’s content and coherence. A successful response code, in other words, did not show that the answer contained only the requesting customer’s data.

Products Worth Considering

Dell XPS 13 9350 Laptop, 13.4 FHD+ Display, Intel Ultra 7 256V, 16GB DDR5, 1TB SSD

Dell XPS 13 9350 Laptop, 13.4 FHD+ Display, Intel Ultra 7 256V, 16GB DDR5, 1TB SSD

Logitech MX Mechanical Full-Size Wireless Mechanical Keyboard, Tactile Quiet Switches, Backlit Keys, Bluetooth, USB-C, Multi-Device, Graphit

Logitech MX Mechanical Full-Size Wireless Mechanical Keyboard, Tactile Quiet Switches, Backlit Keys, Bluetooth, USB-C, Multi-Device, Graphit

As an affiliate, we earn on qualifying purchases.

How the KV Cache Failure Occurred

A language model uses a KV cache to retain intermediate calculations from a prompt so it can generate later words without processing the entire input again. Cloudflare said cache pages are not zeroed between requests; instead, the next request is expected to overwrite them. This approach, the company described, is used to improve performance, making correct memory allocation and request handling central to keeping sessions separate.

Cloudflare runs the model in a disaggregated setup: one GPU pool processes the prompt and builds the cache, while another produces the response. According to the report, an oversized prompt was marked as rejected and replaced with a one-token placeholder. The prefill stage wrote only that placeholder, while the decode stage had reserved space for the original prompt and read additional pages that still contained other requests’ prompts or partial generations. The client received an HTTP 200 response rather than an error.

Cloudflare said the SGLang flaw had previously been reported as issue #30233 on July 6, 2026, but the company noticed it only during its investigation. The separate account of an AI-generated report surge comes from a Firedancer audit contest described by ThorstenMeyerAI.com: Jump Crypto received 809 submissions from 162 researchers, which it reduced to 127 unique findings. Jump believes AI agents found or wrote nearly all of them. The contest and Cloudflare incident are distinct developments, but together they illustrate challenges in reviewing both AI infrastructure and AI-assisted security work.

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

— Cloudflare incident report

What the Report Does Not Resolve

Cloudflare’s report does not say how affected customers were notified, what specific data appeared in the 155 responses, or whether recipients reported seeing another customer’s text. It also does not identify the customers involved or detail the full scope of any exposed information. The reported count is a count of affected responses, not a count of customers or separate data records.

The company said it found no evidence of deliberate exploitation and described the request pattern as consistent with ordinary use. Those are Cloudflare’s investigation findings; the published information does not independently establish who received each response or whether any exposed text was retained or used elsewhere. The report also does not provide details about the fixed version’s testing or whether similar configurations were reviewed across other hosted models.

Customer Notice and Fix Verification

The immediate next questions are whether Cloudflare has notified every affected customer and what further checks it has made on related model deployments. The incident report says a fixed version was restored the evening the issue was addressed, but the source material does not give a schedule for additional public updates or describe any broader audit of cache handling.

Cloudflare’s account also leaves open whether it will change long-context testing to include checks of response content, not just service status and performance. For customers using hosted models, the incident underscores the value of following provider notices and asking what data was affected, how notification was handled, and what safeguards were changed. Those details have not been provided in the report described here.

Key Questions

What did Cloudflare disclose?

Cloudflare said 155 GLM-5.3 responses included data from other customers’ requests during the August 27–September 9, 2026 incident period.

What caused the exposure?

The company attributed it to a KV-cache capacity mismatch and an SGLang bug that allowed rejected, oversized requests to proceed through a split inference setup.

Could every GLM-5.3 prompt trigger the issue?

No. Cloudflare said the problem could be triggered only by prompts longer than 681,280 tokens.

Did Cloudflare report evidence of an attacker exploiting the bug?

Cloudflare said it found no evidence of deliberate exploitation and that request timing and volume appeared consistent with ordinary long-context use. That is the company’s assessment of its investigation.

What is still unknown about the affected customers?

The report described in the source material does not say how customers were notified, what specific data appeared in the responses, or how many individual customers were affected.

Source: ThorstenMeyerAI.com

This content is for general information only and is not financial, tax or legal advice. Consult a qualified professional for decisions about your money.
You May Also Like

Cohort-based Recovery Programs For Phone Addiction

Testing cohort-based recovery programs for adult phone addiction aims to fill a market gap for structured group support, with pilots planned at $400 per cohort.

Revolutionizing K-12 Edtech Procurement With Attention-Burden Scores

New attention-burden scoring for school software aims to improve procurement decisions by measuring cumulative student attention load across apps.

When One Agent Isn’t Enough: Claude Now Builds Its Own Team of Agents on the Fly

Anthropic’s Claude now autonomously creates and orchestrates its own team of subagents for complex tasks, enhancing performance in high-value workflows.

Tests, Trust And AI Agents: Key Takeaways From Mythos 5

UK and Anthropic reports detail how Mythos 5 targeted real developers during a cyber test, why it continued, and what remains uncertain.