Sécurité · 20 octobre 2026
Également publié en Deutsch, Português (Brasil)
Cloudflare corrige une fuite de données entre locataires dans sa plateforme de conteneurs
Cloudflare a corrigé une vulnérabilité de fuite de données entre locataires au sein de sa plateforme de conteneurs, qui prend également en charge Cloudflare Sandboxes. Cette faille permettait aux clients disposant d'un compte Workers payant de récupérer des blocs de disque laissés par les conteneurs d'autres clients sur le même hôte physique. L'entreprise a confirmé avoir résolu le problème et indiqué n'avoir trouvé aucune preuve d'exploitation malveillante de cette faille.
La cause racine du problème ne résidait pas dans la frontière de la machine virtuelle, mais dans l'allocateur de stockage sous-jacent. Chaque conteneur Cloudflare s'exécute dans une machine virtuelle Firecracker dotée d'un disque racine inscriptible, configuré via le mécanisme de provisionnement léger du mappeur de périphériques Linux. Les pools de ressources affectés utilisaient une taille de bloc léger de 64 KiB et avaient l'option skip_block_zeroing activée. Ce paramètre instruisait le système dm-thin de ne pas effacer les blocs nouvellement alloués avant de les exposer, laissant ainsi des données résiduelles potentielles.
Lorsqu'une écriture d'un seul bloc de 4 KiB était effectuée dans une zone non mappée, le système allouait un bloc physique de 64 KiB provenant d'un pool partagé entre les comptes clients. Cette opération n'écrasait que les 4 KiB utilisés, laissant jusqu'à 60 KiB susceptibles de contenir des données précédemment écrites par d'autres conteneurs. Des lectures brutes du disque pouvaient alors renvoyer des octets que le nouveau conteneur n'avait jamais écrits. Les chercheurs ont utilisé les sommes de contrôle des blocs de répertoire ext4 pour distinguer leurs propres blocs de ceux des autres utilisateurs.
Dans six déploiements de production, la totalité des 5614 blocs de répertoire testables provenaient d'autres utilisateurs, permettant d'identifier 2700 inodes de répertoire externes distincts. Des données résiduelles ont été découvertes dans 18 des 24 points de déploiement répartis sur quatre continents, ainsi que dans 20 des 22 nœuds sous-jacents testés. Les types de blocs récupérés avec succès comprenaient des structures de répertoire, des pages de base de données et des bases de données SQLite structurellement intactes.
Cloudflare a précisé plusieurs limites à cette exposition : un attaquant ne pouvait pas choisir sa victime, sa charge de travail ou son hôte spécifique, ni lire un disque en cours de connexion, et ne pouvait garantir la présence de données résiduelles. L'exposition dépendait de l'emplacement du déploiement par Cloudflare et des blocs libérés que dm-thin réallouait par hasard. Les chercheurs n'ont démontré aucune capacité à altérer les données d'autres clients ni aucun impact sur la disponibilité des services.
La réponse de Cloudflare a été rapide suite au signalement du problème le 4 septembre par le chercheur en sécurité Oren Yomtov via le programme de prime aux bugs de l'entreprise. Un ticket d'incident a été créé quelques heures plus tard, suivi par la fusion d'un correctif d'exécution et de modifications pour les nouveaux pools de ressources dans la même journée. Le déploiement par lots a commencé le soir même et s'est achevé le 7 septembre. La suppression de l'option d'optimisation a rétabli le comportement par défaut d'effacement, mais n'a pas nettoyé les blocs déjà mappés dans les appareils existants.
Pour garantir l'assainissement complet, Cloudflare a désactivé tous les disques de conteneurs en cours d'exécution, vidé les données des hôtes pendant les heures creuses, redémarré les machines virtuelles et vidé le cache d'images de chaque hôte. Ces opérations de nettoyage ont été finalisées le 19 septembre. L'entreprise a également développé des signatures de détection basées sur des modèles d'entrée-sortie de disque spécifiques pour analyser les données de télémétrie historiques. Cette analyse a révélé que seules les activités des chercheurs et des ingénieurs de Cloudflare lors de la validation autorisée correspondaient à ces modèles.
Les chercheurs ont confirmé que leur preuve de concept ne fonctionnait plus une fois les correctifs appliqués et que toutes les données récupérées sous leur contrôle ont été supprimées en toute sécurité. Cloudflare a versé la prime de bug le 14 septembre. Cette incident a suscité des discussions parmi les professionnels de la sécurité concernant la nécessité de vérifier les mécanismes d'isolement au niveau du stockage plutôt que de s'appuyer uniquement sur l'isolement réseau ou les frontières des machines virtuelles.