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

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

Cloudflare Containers изпълнява програми на клиенти в контейнери върху сървъри, споделяни от множество профили, като Cloudflare, а не клиентът, избира сървъра. Cloudflare Sandboxes, която работи върху Containers и се предлага като сигурно място за изпълнение на недоверен код, включително код, написан от AI агенти, също е била засегната.

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

Проблемът се е дължал на начина, по който са били настроени споделените дискове. Всеки контейнер получава диск, създаден с помощта на функционалност на Linux, наречена „thin provisioning“, която заделя пространство в блокове от по 64 килобайта. Когато даден контейнер е бил изтриван, неговите блокове са се връщали в пул, споделен между клиентските профили.

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

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

По време на тестове в реална среда те съобщават, че са открили остатъчни материали при 18 от 24 опита, всеки на сървър, избран от Cloudflare, и на 20 от 22 основни машини на четири континента.

Възстановените блокове са съдържали директорийни структури, страници от бази данни и структурно пълни SQLite бази данни, съобщават от Cloudflare; в собствения си доклад изследователите изброяват директорийни списъци, SQLite бази данни, профили от браузъра Chromium, .env файлове и файлове с данни за достъп, като ги описват като файлове на други клиенти.

Изследователите съобщават, че техните скриптове за анализ са извеждали само броячи и проверки на формата, а не съдържание на файлове, и че материалът, който са изпратили на Cloudflare, не е съдържал имена на трети страни, идентификатори, данни за достъп или възстановено съдържание.

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

Cloudflare коригира уязвимостта на два етапа. Първоначално компанията отново включи изчистването за новопредоставените блокове, което спря докладвания метод; на 14 септември изследователите потвърдиха, че техният концептуален доказателствен код (proof of concept) вече не работи.

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

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

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

Изследователите, които отделно твърдят, че същата дискова конфигурация е засегнала и продукта Browser Run на Cloudflare, описват уязвимостта като своето шесто публикувано преодоляване на изолирана среда за код (code sandbox) от юли насам, след констатации в Claude Cowork и Claude Code на Anthropic, инструмента с команден ред на Cursor, Docker и Codex на OpenAI. В публикацията си Cloudflare посочва Containers и Sandboxes като засегнати, без да споменава Browser Run.