Cloudflare устранила утечку данных между контейнерами разных клиентов
Из-за ошибки в настройке общего хранилища новый контейнер мог прочитать остаточные данные, оставшиеся на диске после работы другого клиента. Cloudflare заявила, что исправила проблему во всей инфраструктуре и не обнаружила признаков её эксплуатации посторонними.

Cloudflare исправила уязвимость в сервисе Containers, позволявшую одному клиенту получить доступ к данным, оставшимся на дисковом пространстве после удаления контейнера другого клиента. Речь не шла о доступе к работающим нагрузкам: можно было прочитать только фрагменты данных из ранее использованных и освобождённых блоков хранилища. Выбрать конкретного клиента или сервер для такой попытки было нельзя.
Проблема затронула и Cloudflare Sandboxes — сервис на базе Containers, предназначенный в том числе для безопасного запуска недоверенного кода, написанного ИИ-агентами. Об ошибке 4 сентября через программу вознаграждений Cloudflare сообщил исследователь Орен Йомтов из компании Accomplish.
Причиной стала конфигурация тонко выделяемого хранилища Linux. Диски контейнеров формировались из блоков по 64 КБ. После удаления контейнера его блоки возвращались в общий пул, однако перед передачей следующему клиенту система не очищала их содержимое. Если новый контейнер записывал в повторно использованный блок лишь небольшую часть данных, остальная область могла сохранять сведения от предыдущего контейнера.
Исследователи записывали 4 КБ в свободную область, а затем считывали весь блок на уровне диска. В оставшихся примерно 60 КБ они находили данные прежнего пользователя. В производственных тестах остаточные данные удалось обнаружить в 18 из 24 попыток и на 20 из 22 задействованных машин в четырёх частях света. Cloudflare сообщила, что среди найденного были структуры каталогов, страницы баз данных и целые базы SQLite. В описании исследователей также упоминаются профили Chromium, файлы .env и файлы с учётными данными.
По данным Cloudflare, исследователи не передавали компании содержимое чужих файлов: их скрипты выводили только количество находок и результаты проверки форматов. Полученные данные, как утверждает компания, хранились конфиденциально и были безопасно удалены после отправки отчёта.
Сначала Cloudflare включила очистку блоков перед их повторным выделением. Исследователи подтвердили 14 сентября, что их демонстрационный метод после этого перестал работать. Затем компании пришлось дополнительно вывести из эксплуатации все активные диски контейнеров и очистить кэши подготовленных образов на серверах: в противном случае новые контейнеры могли унаследовать уже сопоставленные неочищенные блоки. Эти работы завершились 19 сентября после поэтапного перезапуска серверов в периоды низкой нагрузки.
Cloudflare также проверила журналы дисковой активности с помощью сигнатур, созданных на основе демонстрации исследователей и собственной реализации атаки. Компания утверждает, что обнаружила только разрешённые действия самих исследователей и своих инженеров и не увидела признаков использования именно этого метода кем-либо ещё. При этом Cloudflare не уточнила, за какой период сохранялись проверенные журналы и когда небезопасная настройка была включена, поэтому продолжительность возможного воздействия неизвестна.
Исследователи не продемонстрировали возможность изменить данные другого клиента или нарушить работу его контейнера. Они отдельно заявили, что та же конфигурация затрагивала продукт Cloudflare Browser Run, однако в сообщении Cloudflare среди затронутых сервисов названы только Containers и Sandboxes.