Компания Cloudflare опубликовала детальный разбор масштабного инцидента, который 18 ноября 2025 года вывел из строя значительную часть её глобальной сети доставки контента на протяжении более трёх часов. Сбой затронул основные сервисы безопасности и производительности, что привело к появлению ошибок HTTP 5xx у миллионов пользователей по всему миру. Причиной стала цепочка технических недочётов, начавшаяся с изменения прав доступа в системе управления базами данных.
Инцидент возник после модификации структуры базы данных, размещённой в хранилище ClickHouse. В результате изменения файл с параметрами для системы противодействия ботам неожиданно удвоился в размере. В базе данных образовались дублирующиеся таблицы, при этом SQL-запрос для формирования файла просто выводил все данные из всех таблиц по ключу без фильтрации дубликатов. Увеличенный файл конфигурации распространился по всем узлам кластера, обрабатывающим входящие запросы.
Обработчик, использующий данный файл для проверки на обращение от ботов, сохранял указанные параметры в оперативной памяти. Для защиты от чрезмерного потребления памяти в коде был предусмотрен лимит на максимально допустимый размер файла. В обычных условиях фактический размер файла был значительно меньше установленного ограничения, но после дублирования таблиц превысил лимит. Критическая проблема оказалась в том, что вместо корректной обработки превышения лимита и продолжения использования предыдущей версии файла с уведомлением системы мониторинга, обработчик выполнял аварийное завершение, блокирующее дальнейшую маршрутизацию трафика.
Ошибка была вызвана использованием в коде на языке Rust метода unwrap() с типом Result. Когда значение Result имеет состояние "Ok", метод unwrap() возвращает связанный с этим состоянием объект, но если результат не является успешным, вызов приводит к аварийному завершению через макрос panic!. Обычно unwrap() применяется в процессе отладки или при написании тестового кода и не рекомендуется для использования в рабочих проектах.
Сбой начался в 11:20 по всемирному координированному времени и первоначально был ошибочно принят за масштабную DDoS-атаку. Ситуация усугублялась колебаниями в работе системы, поскольку файл конфигурации генерировался каждые пять минут, и в зависимости от состояния кластера ClickHouse мог распространяться как корректный, так и проблемный вариант. Это вызывало периодические восстановления и последующие отказы работы сети, что затрудняло диагностику.
К 14:30 инженерам Cloudflare удалось идентифицировать корневую причину и остановить распространение проблемного файла конфигурации. Они заменили его на предыдущую рабочую версию и принудительно перезапустили основные прокси-сервисы. Полное восстановление всех систем заняло до 17:06, поскольку команде потребовалось время для перезапуска сервисов, оказавшихся в нестабильном состоянии.
Инцидент затронул множество сервисов Cloudflare. Основные CDN и сервисы безопасности возвращали ошибки HTTP 5xx, система Turnstile не загружалась, а Workers KV демонстрировал значительно повышенный уровень ошибок. Панель управления оставалась в основном работоспособной, но большинство пользователей не могли войти в систему из-за недоступности Turnstile на странице входа. Сервис Access испытывал массовые сбои аутентификации, хотя существующие сессии оставались работоспособными.
Cloudflare подчеркивает, что инцидент не был вызван кибератакой или вредоносной активностью. Это был внутренний сбой, связанный с изменением системы управления правами доступа к базе данных. Компания уже начала работу по усилению защитных механизмов, включая улучшение обработки конфигурационных файлов, внедрение глобальных аварийных выключателей для функций и устранение возможности перегрузки системных ресурсов при ошибках.
Представители Cloudflare принесли извинения за влияние на клиентов и интернет в целом, признав, что подобные сбои неприемлемы учитывая важность инфраструктуры компании в глобальной интернет-экосистеме. Этот инцидент стал наиболее значительным перерывом в работе основной сети доставки контента Cloudflare с 2019 года и побудил компанию к пересмотру процедур контроля изменений и обработки ошибок в критических компонентах инфраструктуры.
