ToolNavs Outils IA à découvrir
Proposer Connexion
Retour à Informations sur l’IA
Cloudflare révèle un défaut d'isolation du cache KV : 155 réponses mêlées à des données d'autrui

Cloudflare révèle un défaut d'isolation du cache KV : 155 réponses mêlées à des données d'autrui

Informations sur l’IA • Admin • • 14 vues

Un défaut du cache KV de Cloudflare a été rendu public le 26 octobre 2026 : Cloudflare et l'équipe du moteur d'inférence open source SGLang ont publié un compte rendu commun confirmant une défaillance d'isolation du cache entre requêtes, qui a mêlé le contenu de requêtes d'autres utilisateurs à certaines réponses. Il ne s'agissait pas d'une intrusion externe, mais d'une défaillance d'isolation provoquée par une erreur de configuration combinée à un bogue du moteur. Le modèle concerné a été corrigé et SGLang a publié des versions corrigées.

Le déclencheur immédiat était l'écart entre deux chiffres. Lorsque Cloudflare exploitait GLM 5.3 de Zhipu sur Workers AI, la fenêtre de contexte annoncée du modèle était de 1 048 576 jetons, mais le pool de cache KV des nœuds de préremplissage ne pouvait contenir que 681 280 jetons. Une invite trop longue dépassant le pool aurait dû être rejetée avec une erreur, et SGLang l'a bien marquée comme rejetée en interne, en remplaçant l'invite d'origine par un jeton de substitution unique. Dans un déploiement où préremplissage et décodage sont séparés, les files d'admission vérifiaient seulement si une requête était « terminée », et non si elle avait été « rejetée », si bien que la requête rejetée a été traitée normalement.

Le nœud de décodage a lu des données résiduelles de requêtes antérieures

Le nœud de préremplissage n'a généré du cache KV que pour le jeton de substitution, puis a signalé « transfert terminé », tandis que le nœud de décodage avait réservé un ensemble complet de pages de cache pour la longueur de l'invite d'origine. Seule la première page avait été écrite par la requête en cours ; les autres pages conservaient encore le contenu résiduel de requêtes antérieures. Le nœud de décodage a continué à générer sur ces pages, et la réponse renvoyée semblait cohérente et portait le code de statut 200, mais elle contenait des données issues des sessions d'autres utilisateurs. Cloudflare précise que les pages de cache ne sont de toute façon pas effacées entre les requêtes ; le moteur est censé suivre précisément à qui appartient chaque page, et ce suivi s'est interrompu sur le chemin de rejet.

Seul GLM 5.3 a été touché ; les opérateurs doivent d'abord vérifier le pool de cache

Selon Cloudflare, 155 réponses ont été touchées entre le 27 août et le 9 septembre 2026, toutes pour des invites de plus de 681 280 jetons. Le chercheur en sécurité Gadi Evron a signalé le problème via HackerOne le 8 septembre. Cloudflare l'a reproduit le lendemain, a mis le modèle hors ligne dans les 40 minutes suivant la déclaration d'un incident de sécurité, puis a rétabli le service le jour même après une correction de configuration et un correctif du moteur. Aucune preuve d'exploitation délibérée du défaut n'a été trouvée. Cloudflare a étendu le pool de cache de préremplissage à environ 2,04 millions de jetons et recommande à tous les opérateurs utilisant SGLang de passer à la version v0.5.22 ou ultérieure, et de vérifier, avant tout déploiement, que la taille du pool de cache du moteur en cours d'exécution correspond à la longueur de contexte du modèle, plutôt que de se fier à une réponse 200 de l'API.

Outils Recommandés

Plus