Cloudflare indique qu’un bug affectant son modèle GLM-5.3 sur Workers AI a exposé les données de certaines requêtes de clients à d’autres clients entre le 27 août et le 9 septembre 2026. L’entreprise a identifié 155 réponses concernées, toutes générées à partir de prompts de plus de 681 280 tokens, et n’a trouvé aucun indice d’exploitation délibérée du problème.
Le problème a été révélé après que le chercheur en sécurité Gadi Evron, de Knostic, l’a signalé le 8 septembre dans le cadre du programme HackerOne de Cloudflare. Cloudflare a reproduit le problème le lendemain matin, mis le modèle hors ligne dans les 40 minutes suivant la déclaration d’un incident, puis l’a rétabli plus tard dans la journée après avoir déployé des correctifs de configuration et du moteur. L’entreprise a déclaré qu’aucun autre modèle hébergé sur Workers AI n’était concerné.
Cloudflare a attribué l’exposition à deux problèmes. GLM-5.3 était configuré avec une fenêtre de contexte de 1 048 576 tokens, mais le pool de cache KV des GPU de préremplissage ne pouvait contenir que 681 280 tokens. Par ailleurs, SGLang, le moteur d’inférence utilisé pour servir le modèle, gérait mal les requêtes dépassant la capacité du pool dans sa configuration de préremplissage et de décodage désagrégés.
Au lieu d’interrompre une requête trop volumineuse et de renvoyer une erreur, le chemin concerné de SGLang remplaçait le prompt par un espace réservé d’un seul token. L’étape de préremplissage transférait alors les données du cache correspondant à cet espace réservé, tandis que l’étape de décodage considérait le transfert comme terminé et lisait l’ensemble des pages réservées à la requête d’origine. La plupart de ces pages n’avaient pas été écrasées et contenaient encore des données de requêtes antérieures, qui pouvaient alors apparaître dans la réponse.
Cloudflare a modifié la configuration afin que le pool KV de préremplissage puisse contenir environ 2,04 millions de tokens, soit à peu près le double de la longueur du contexte du modèle. L’entreprise a également corrigé SGLang pour que les requêtes rejetées soient retirées avant l’initialisation, l’allocation de mémoire ou le transfert KV, et a ajouté une vérification garantissant que le nombre de tokens transférés correspond à la quantité réservée par le décodage. Cloudflare affirme avoir testé ces changements à l’aide du script de reproduction du chercheur et de ses propres tests avec marqueurs témoins avant de rétablir le modèle.
L’incident a également entraîné la mise en place de mesures de protection plus générales dans les déploiements de SGLang de Cloudflare, notamment des vérifications garantissant que la capacité du pool dépasse la longueur du contexte, ainsi que des mesures visant à réduire les risques liés aux transferts du cache KV et à la réutilisation des pages. Cloudflare recommande aux opérateurs utilisant SGLang en mode désagrégé de passer à la version 0.5.22 ou ultérieure, ou de rétroporter les correctifs concernés. L’entreprise a déclaré que les correctifs traitant l’incident et les problèmes connexes du cache ont été intégrés en amont, et que la plupart figurent dans SGLang 0.5.22.
Sources: Cloudflare Blog.