Уязвимость HTTP/2 CONTINUATION Flood угрожает веб-серверам DoS-атаками

Уязвимость HTTP/2 CONTINUATION Flood угрожает веб-серверам DoS-атаками

Уязвимость HTTP/2 CONTINUATION Flood угрожает веб-серверам DoS-атаками

Как показало новое исследование специалиста по кибербезопасности Бартека Новотарски, фрейм CONTINUATION в протоколе HTTP/2 можно использовать для проведения атак вида DoS (отказ в обслуживании). Вектор получил имя HTTP/2 CONTINUATION Flood.

Новотарски сообщил о своей находке представителям Координационного центра CERT 25 января 2024 года. Сам центр на днях опубликовал по этому поводу следующее сообщение:

«Многие имплементации HTTP/2 некорректно ограничивают или обрабатывают число фреймов CONTINUATION, отправленных в одном потоке. Условный атакующий может послать пакеты целевому серверу вместе с потоком фреймов CONTINUATION, которые не будут фигурировать в списке заголовков в памяти».

«Тем не менее эти фреймы всё равно будут обрабатываться и декодироваться сервером, приводят к сбою в работе из-за нехватки памяти».

HTTP/2, как и предыдущая версия — HTTP/1, использует поля заголовков в запросах и ответах. Эти поля могут содержать списки, которые обрабатываются и разбиваются на блоки заголовков, а последние затем делятся на фрагменты и передаются внутри HEADER. Это и называется фреймами CONTINUATION.

Последний фрейм должен содержать флаг END_HEADERS, что даёт понять удалённой точке: это конец блока заголовка. Как отметил Новотарски, CONTINUATION Flood представляет собой класс уязвимостей в нескольких реализациях протокола HTTP/2.

И этот вектор атаки представляет большую угрозу, чем Rapid Reset, о которой рассказывали в октябре 2023 года.

«Одно устройство (в некоторых случаях это может быть одно TCP-соединение или несколько фреймов) может привести к недоступности сервера — начиная от сбоя, заканчивая заметным снижением производительности», — объясняет Новотарски.

Проблема затрагивает:

kernel.org внезапно опустел: на зеркалах случайно удалили архивы ядра Linux

У kernel.org случился редкий инфраструктурный конфуз: из-за ошибки при настройке нового первичного зеркала и изменении системы синхронизации внезапно опустел каталог kernel.org/pub/. Именно там на публичных зеркалах хранились архивы с кодом выпусков ядра Linux, патчи и файлы со списками изменений.

Пользователи, заходившие в каталог, вместо привычного дерева файлов увидели пустоту. Очень философский опыт для мира открытого кода.

В Linux Foundation объяснили, что данные не потеряны: пострадали только копии на публичных зеркалах. Эталонные данные с кодом ядра Linux остались целы. Проблема возникла именно в инфраструктуре зеркалирования, где ошибочная настройка привела к удалению содержимого на существующих зеркалах.

Команда проекта уже занимается восстановлением данных. Но, как метко заметили участники kernel.org, удаление происходит быстро, а восстановление — медленно. Поэтому пользователей попросили набраться терпения.

Инцидент оказался неприятным не только для тех, кто привык скачивать архивы ядра напрямую с kernel.org. Он задел и сторонние проекты. Например, в Fedora сломались браузерные тесты openQA: много лет назад разработчики выбрали kernel.org как надёжный источник для проверки загрузки файлов.

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

RSS: Новости на портале Anti-Malware.ru