Hopp til hovedinnhold

Søndag 8. november

 Tilbake Personvern 2 min 12.10

Cloudflare: SGLang-feil lot GLM-5.3 lekke andre kunders data i 155 svar

tirsdag 27. oktober · KI-generert · Kilde: Cloudflare

Innholdet er KI-generert og kan inneholde feil. Sjekk originalkilden.

Oppgrader SGLang til v0.5.22 og sjekk at KV-poolen er minst like stor som kontekstvinduet hvis du kjører disaggregert prefill/decode.

155 svar fra GLM-5.3 på Workers AI inneholdt tekst fra andre brukeres økter, skriver Cloudflare i en hendelsesrapport publisert 26. oktober. Alle gjaldt prompter lengre enn 681 280 tokens, og eksponeringen varte fra lanseringen 27. august til modellen ble rettet og satt tilbake i drift 9. september. Sikkerhetsforskeren Gadi Evron fra Knostic meldte feilen via HackerOne 8. september. Cloudflare fant ingen tegn til bevisst utnyttelse.

To feil overlappet. Cloudflare annonserte et kontekstvindu på 1 048 576 tokens, men KV-cache-poolen på prefill-GPU-ene hadde bare plass til 681 280. Teamet kjente til avviket før lansering, men antok at motoren ville returnere en feil. I disaggregert modus gjorde den ikke det: SGLang byttet den for lange prompten med en plassholder på ett token, sendte én side KV-cache til decode-noden og meldte overføringen som fullført. Decode-noden leste så alle de reserverte sidene, der resten fortsatt inneholdt data fra tidligere forespørsler. Klienten fikk HTTP 200 og et sammenhengende svar.

«Vi validerte bare HTTP-statuskoder og motorens ytelse ved lange kontekster, uten å validere modellens output og sammenheng.» — Cloudflare, i hendelsesrapporten

Sidene i KV-cachen nullstilles ikke mellom forespørsler, noe Cloudflare beskriver som vanlig blant inferensmotorer av ytelseshensyn. Poolstørrelsen beregnes ved oppstart ut fra GPU-minnet som er igjen etter at vektene er lastet, mens kontekstlengden er en egen innstilling, og ingenting tvinger dem til å stemme overens. Endrer du kvantisering, tensor-parallellisme eller minnefraksjon, endres poolen også. På én enkelt node returnerte SGLang feil som forventet, så problemet gjelder oppsett med separate prefill- og decode-noder. Fiksen kom i SGLang v0.5.20, med oppfølgere i v0.5.21 (2. oktober) og v0.5.22 (19. oktober).

Hva bør du gjøre?

  1. Oppgrader disaggregerte SGLang-oppsett til v0.5.22 eller nyere, som inneholder fiksene #36988 og #38935.
  2. Les KV-poolstørrelsen fra oppstartsloggen på hver prefill- og decode-node etter hver endring i vekter, kvantisering eller parallellisme, og senk kontekstlengden hvis poolen er mindre.
  3. Slå på --disaggregation-enable-kv-checksum og --kv-canary der modellarkitekturen støtter det, og bekreft i loggene at forespørslene faktisk verifiseres.

Pulsen · norske KI-nyheter for deg som bygger. Sakene er KI-generert fra originalkilden, som alltid lenkes.