Immagine AI

Cloudflare ha divulgato il 26 ottobre 2026 i dettagli di un incidente di isolamento tra tenant verificatosi nell’infrastruttura Workers AI durante l’esecuzione del modello linguistico GLM-5.3 di Z.ai. Il problema ha determinato la presenza di informazioni appartenenti a sessioni di altri clienti in 155 risposte generate a partire da richieste particolarmente lunghe. La vulnerabilità è stata segnalata l’8 settembre 2026 dal ricercatore Gadi Evron di Knostic attraverso il programma HackerOne di Cloudflare e interessava il modello identificato come @cf/zai-org/glm-5.3, disponibile sulla piattaforma dal 27 agosto. Cloudflare ha corretto l’anomalia e ripristinato il servizio il 9 settembre, dichiarando di non aver individuato altri modelli coinvolti né prove di sfruttamento intenzionale. Tutte le 155 risposte interessate riguardavano richieste superiori a 681.280 token, circostanza determinante per comprendere il funzionamento del difetto.

L’origine dell’incidente è stata ricondotta alla combinazione di una configurazione incompatibile con la memoria effettivamente disponibile e di un errore nel motore di inferenza open source SGLang. Cloudflare utilizzava un’architettura disaggregata, nella quale GPU dedicate alla fase di prefill elaboravano il prompt e costruivano la cache key-value, successivamente trasferita tramite Remote Direct Memory Access e il sistema Mooncake alle GPU dedicate alla generazione della risposta. La configurazione dichiarava una finestra contestuale di 1.048.576 token, ma la memoria destinata alla cache KV sui nodi di prefill poteva contenere soltanto 681.280 token. Poiché le pagine di memoria vengono riutilizzate senza essere necessariamente azzerate tra richieste successive, il motore di inferenza deve garantirne correttamente l’assegnazione e impedire che una sessione acceda al contenuto residuo di un’altra.

Quando un prompt superava la capacità effettiva della cache, SGLang lo contrassegnava internamente come non elaborabile e lo sostituiva con un segnaposto di un solo token. Nell’architettura disaggregata, tuttavia, il nodo di prefill continuava il procedimento e comunicava il completamento del trasferimento della cache. Il nodo di decodifica poteva così produrre una risposta consultando pagine contenenti dati precedenti, anziché interrompere la richiesta. Il client riceveva un codice HTTP 200, indicativo di successo, invece del previsto HTTP 400. L’anomalia non si manifestava nello stesso modo durante l’esecuzione su nodo singolo, dove la richiesta eccessiva veniva correttamente respinta. Un problema correlato era già stato segnalato al progetto SGLang nel luglio 2026.

Cloudflare ha riconosciuto che le verifiche precedenti al rilascio controllavano i codici HTTP e le prestazioni del motore anche sui contesti lunghi, senza esaminare adeguatamente coerenza e contenuto delle risposte. Il caso ha quindi portato all’introduzione di controlli espliciti tra dimensione configurata della finestra contestuale e capacità della cache KV prima delle modifiche alle implementazioni disaggregate. La vulnerabilità riguardava il sistema di esecuzione e gestione della memoria, non una dimostrazione di accesso volontario del modello a informazioni di altri utenti. Il numero di 155 identifica le risposte coinvolte e non deve essere interpretato automaticamente come numero di clienti distinti o di attaccanti.

Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI).

Di Fantasy