Cloudflare отстрани уязвимост за излагане на данни между отделни клиенти (tenants) в своята платформа Containers в цялата си глобална мултитенантна облачна инфраструктура, която би могла да позволи на работното натоварване на един клиент да възстанови остатъчни данни от диска, оставени от друг клиент на същия физически хост.

Проблемът засегна и Cloudflare Sandboxes, която е изградена върху Containers, но от Cloudflare заявяват, че не са открили доказателства за злонамерено експлоатиране или компрометиране на клиентски данни в запазената телеметрия.

Орен Йомтов, изследовател по сигурността в Accomplish, отговорно разкри уязвимостта чрез програмата за награди за открити бъгове (bug bounty) на Cloudflare в HackerOne на 4 септември 2026 г.

Експлоатацията изискваше платен акаунт Workers Paid, а автоматичното разпределение на работните натоварвания от страна на Cloudflare означаваше, че атакуващият не можеше да избере жертва, хост, работно натоварване или конкретна информация. Въпреки това уязвимостта премина през критичната граница за изолация между клиентите в споделената облачна инфраструктура.

Уязвимост в Cloudflare Containers

Уязвимостта произлиза от слоя за съхранение на данни, а не от конвенционално излизане от контейнер или виртуална машина (container escape). Cloudflare изпълнява всеки контейнер в отделна Firecracker microVM и предоставя неговия записваем root диск като /dev/vdc.

Зад този диск функцията на Linux за тънко провизиране чрез device mapper (dm-thin) заделя физическо пространство в блокове от по 64 KiB само когато виртуалният диск записва в некартиран регион.

Засегнатите споделени пулове за съхранение на Cloudflare бяха с активирана опция skip_block_zeroing. Когато дискът на даден контейнер се изтриваше, неговите физически блокове се връщаха в пул, използван от множество клиентски акаунти. Тъй като новите заделяния не се изчистваха, рециклиран блок можеше да запази байтове, принадлежащи на предишния му собственик, докато тези области не бъдат презаписани.

Изследователите са експлоатирали това поведение, като са идентифицирали подравнени по 64 KiB региони, представляващи свободно пространство в ext4 файловата система на госта, и са записвали само 4 KiB във всеки регион. Този малък запис е принуждавал dm-thin да задели рециклиран 64 KiB блок, докато заменя само 4 KiB.

Последващо четене на суровото устройство (raw-device read) е можело да разкрие остатъчни данни в недокоснатите 60 KiB — байтове, които новият контейнер никога не е записвал.

Анализът на контролните суми предостави доказателства, че изложените блокове произхождат от други файлови системи. В шест производствени разпределения екипът анализира 5614 тестваеми директорийни блока и не приписва нито един на своята собствена файлова система за концептуално доказателство (proof-of-concept), като същевременно идентифицира 2700 различни чужди директорийни inode съответствия.

Остатъчен материал се появи в 18 от 24 разпределения и 20 от 22 подлежащи нода, обхващащи четири континента. Наблюдаваните формати включваха директорийни структури, страници от бази данни и структурно пълни SQLite бази данни.

Техниката не осигуряваше достъп до активно прикачени дискове, не позволяваше промяна на живи данни на друг клиент и не засягаше разполагаемостта на работните натоварвания. Резултатите също така зависеха от планирането и от това кои освободени блокове преразпределя модулът за заделяне, което прави извличането по-скоро опортюнистично, отколкото целенасочено. Дори с тези ограничения, изложените фрагменти потенциално биха могли да съдържат метаданни на файловата система, информация за приложения или чувствително съдържание от бази данни.

Cloudflare първо премахна skip_block_zeroing в целия си парк от Containers, възстановявайки поведението по подразбиране на dm-thin за изчистване на новозаделените блокове преди излагането им.

Тъй като тази промяна не санира блокове, които вече са картирани в работещи дискове или кеширани снимки на OCI изображения, компанията също така изведе от употреба съществуващите дискове на контейнери, изпразни хостовете, рестартира виртуалните машини и изчисти кешовете с изображения. Изследователите независимо потвърдиха, че тяхното концептуално доказателство е спряло да работи.

След това Cloudflare разработи сигнатури за откриване около необичайния шаблон на дискови входно-изходни операции (disk-I/O) на атаката: малки записи от 4 KiB, последвани от значително по-големи четения от новозаделени блокове от 64 KiB.

Историческият преглед на компанията установи само активност, свързана с изследователите от Accomplish и инженери на Cloudflare, извършващи оторизирана валидация. Корекцията за сигурност на ниво цяла инфраструктура не изисква промени в конфигурацията от страна на клиентите, въпреки че организациите трябва да преценят дали тайните (secrets), обработвани от засегнатите работни натоварвания, изискват предпазливо ротиране съгласно техните собствени политики за риск.