Cloudflare a corrigé une faille dans son service Containers qui permettait à un client de récupérer des fragments de données laissés sur disque par les conteneurs précédemment exécutés sur le même serveur. Le problème ne permettait pas de choisir une victime ni d’accéder à un disque encore utilisé, mais les chercheurs ont retrouvé des données résiduelles sur 18 de leurs 24 tests en production.
Des blocs de disque réattribués sans avoir été entièrement effacés
La faille a été signalée le 4 septembre par Oren Yomtov, chercheur chez Accomplish, via le programme de bug bounty de Cloudflare. Elle touchait Cloudflare Containers ainsi que Sandboxes, qui repose sur la même infrastructure. Chaque conteneur dispose d’un disque virtuel, mais les espaces physiques qui le composent sont prélevés dans un stockage partagé entre plusieurs clients. Lorsqu’un conteneur était supprimé, ses blocs de disque retournaient dans ce pool pour pouvoir être attribués à un autre.
C’est à ce moment-là que le problème apparaissait. Une option appelée skip_block_zeroing empêchait l’effacement systématique des blocs avant leur réutilisation. Un nouveau conteneur pouvait donc recevoir un bloc de 64 Ko déjà utilisé auparavant, n’en réécrire que 4 Ko puis lire les 60 Ko restants. Cette partie pouvait encore contenir des données appartenant au client précédent. Cloudflare reconnaît que les chercheurs ont ainsi retrouvé des structures de répertoires, des pages de bases de données et même des bases SQLite complètes.
Le phénomène n’était pas exceptionnel pendant les tests
Les chercheurs ne pouvaient ni choisir le serveur sur lequel leur conteneur serait exécuté ni viser un client précis, ce qui rendait l’exploitation largement opportuniste. Ils ont néanmoins retrouvé des données résiduelles sur 18 des 24 placements testés et sur 20 des 22 machines physiques rencontrées, réparties sur quatre continents.
Lors d’une autre série de vérifications, ils ont identifié 2 700 entrées de répertoires provenant de systèmes de fichiers étrangers au leur. Les contenus récupérés ont servi uniquement à confirmer la faille avant d’être supprimés, et Cloudflare indique qu’aucun identifiant ou contenu appartenant à un tiers n’a été transmis dans le rapport.
L’entreprise précise également que la technique ne permettait pas de lire les données d’un conteneur encore actif, de modifier les fichiers d’un autre client ou de perturber son service.
Cloudflare a dû nettoyer plus que les nouveaux disques
La première correction a consisté à réactiver l’effacement automatique des blocs avant leur réattribution. Le correctif a commencé à être déployé le jour même du signalement et l’ensemble de la flotte était couvert le 7 septembre.
Cela ne suffisait pourtant pas à faire disparaître les données déjà présentes dans certains disques et caches. Cloudflare a donc aussi retiré les anciens disques de conteneurs, vidé les images mises en cache et redémarré les machines concernées afin de recréer les volumes sur des espaces désormais nettoyés. Cette deuxième phase s’est terminée le 19 septembre.
Cloudflare a ensuite recherché dans l’historique disponible de ses entrées-sorties disque des comportements ressemblant à la méthode utilisée par les chercheurs. L’entreprise dit n’avoir trouvé aucune trace d’exploitation malveillante en dehors des tests d’Accomplish et de ses propres équipes.
Reste un détail assez gênant pour un service multi-tenant. La séparation entre deux clients était bien respectée tant que leurs conteneurs tournaient, mais elle pouvait disparaître au moment où quelques blocs de disque changeaient simplement de propriétaire.








