Уязвимость в Cloudflare Containers позволяла одному платящему клиенту читать данные, оставленные контейнерами других клиентов на том же сервере, сообщили в четверг Cloudflare и исследователи, обнаружившие её. Данные поступали из дискового пространства, которое ранее использовали и освободили контейнеры, а не из какой-либо активной рабочей нагрузки. Злоумышленник не мог выбрать, чьи данные он получит, согласно заявлению Cloudflare. Компания устранила уязвимость во всем своем сервисе и утверждает, что клиентам ничего делать не нужно.
Cloudflare Containers запускает программы клиентов внутри контейнеров на серверах, совместно используемых многими учетными записями, и Cloudflare, а не клиент, выбирает сервер. Cloudflare Sandboxes, работающий на Containers и продаваемый как безопасное место для запуска недоверенного кода, включая код, написанный ИИ-агентами, также был затронут.
Об уязвимости 4 сентября сообщил Орен Йомтов из компании Accomplish через программу поощрения за поиск ошибок Cloudflare. Проблема заключалась в настройке общих дисков. Каждый контейнер получает диск, созданный с использованием функции Linux под названием thin provisioning, которая выделяет хранилище блоками по 64 килобайта. Когда контейнер удалялся, его блоки возвращались в пул, общий для всех учетных записей клиентов. Этот пул был настроен так, чтобы пропускать очистку блока перед передачей следующему контейнеру, хотя очистка обычно является настройкой по умолчанию. Таким образом, когда новый контейнер записывал лишь небольшое количество данных в повторно используемый блок, остальная часть блока все еще содержала данные предыдущего контейнера.
Чтобы получить доступ, исследователи записали небольшой блок объемом четыре килобайта в неиспользуемое пространство, а затем прочитали весь блок на уровне необработанного диска. 60 килобайт, которые они не записывали, все еще содержали байты из предыдущего контейнера. В ходе производственных тестов они сообщили об обнаружении остаточных данных в 18 из 24 попыток, каждая на сервере, выбранном Cloudflare, и в 20 из 22 базовых машин на четырех континентах.
Восстановленные блоки содержали структуры каталогов, страницы баз данных и структурно полные базы данных SQLite, сообщила Cloudflare; в собственной статье исследователей перечислены списки каталогов, базы данных SQLite, профили браузера Chromium, файлы .env и файлы учетных данных, и они описываются как файлы других клиентов. Исследователи сообщили, что их скрипты анализа выводили только счетчики и проверки формата, а не содержимое файлов, и что материалы, которые они отправили Cloudflare, не содержали сторонних имен, идентификаторов, учетных данных или восстановленного контента. Они также подтвердили, что восстановленные данные хранились в частном порядке и были безопасно удалены после их отправки, сообщила Cloudflare. Исследователи не продемонстрировали, что уязвимость может изменить активные данные другого клиента или вывести рабочую нагрузку из строя.
Cloudflare устранила уязвимость в два этапа. Сначала она снова включила очистку для вновь выделяемых блоков, что остановило описанный метод; исследователи подтвердили 14 сентября, что их доказательство концепции больше не работает. Однако это изменение не очистило блоки, уже сопоставленные с дисками запущенных контейнеров или с кэшем подготовленных слоев образов каждого сервера, которые новый контейнер мог унаследовать и прочитать. Поэтому Cloudflare также вывела из эксплуатации все запущенные диски контейнеров и очистила эти кэши, отключив и перезапустив серверы в часы наименьшей нагрузки. Эта очистка была завершена 19 сентября, а уязвимость была раскрыта пять дней спустя.
Cloudflare заявила, что искала признаки того, что кто-либо еще использовал этот метод. Она создала сигнатуры обнаружения на основе доказательства концепции исследователей и своей собственной копии атаки и запустила их против записей активности диска, которые она сохранила. Она обнаружила только авторизованное тестирование исследователей и своих собственных инженеров и заявила, что не видела никаких доказательств того, что этот конкретный метод использовался кем-либо еще. Этот вывод охватывает сохраненные Cloudflare записи, хотя она не указала временной интервал или когда была впервые установлена небезопасная настройка, поэтому продолжительность воздействия неясна из ее отчета.
Исследователи, которые отдельно заявляют, что та же настройка диска повлияла на продукт Cloudflare Browser Run, описали уязвимость как шестой побег из песочницы кода, опубликованный с июля, после обнаружений в Claude Cowork и Claude Code от Anthropic, инструмента командной строки Cursor, Docker и Codex от OpenAI. В сообщении Cloudflare упомянуты Containers и Sandboxes как затронутые и не упоминается Browser Run.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Swati Khandelwal




