Опасные уязвимости найдены в HTTP/2

Пять серьезных уязвимостей в новой версии HTTP-протокола – HTTP/2 – обнаружены исследователями информационной безопасности Imperva. Проведя анализ реализации серверной части HTTP/2 от Apache, Jetty, Microsoft, NGINX и nghttp2, специалисты нашли проблемы во всех основных механизмах протокола. Кроме того, найдены две уязвимости, которые также касаются и версий HTTP/1.x.

Благодаря одной из уязвимостей хакер может пользоваться вредоносным клиентом, чтобы очень медленно читать ответы, вызывая таким образом отказ в обслуживании. Взломщик может задействовать настройки HTTP/2, чтобы осуществлять мультиплексирование большого числа каналов через одно TCP-соединение. Хотя сервер поддерживает одно TCP-соединение, для каждого канала выделяется свой поток. В результате на уязвимом сервере будут использованы все доступные потоки.

В состав уязвимости HPACK Bomb входят две бреши, с которых атакующий может создавать небольшие по виду сообщения, которые в действительности могут распаковывать на стороне сервера гигабайты информации. Хакер может задействовать все ресурсы, доступные на системе, и спровоцировать отказ в обслуживании.

Еще одна уязвимость оказывает влияние на механизмы управления потоком, которые применяются в HTTP/2 для того, чтобы оптимизировать сеть. Используя запросы, сформированные специальным образом, злоумышленник может спровоцировать зацикливание приложения. Применение уязвимости дает возможность проводить DoS-атаку или выполнять на системе произвольный код.

Кроме того, обнаружена уязвимость, которая связана с мультиплексированием потока, когда через одно HTTP/2-соединение проходит несколько сессий. Поскольку разделение связи несет сугубо логический характер, злоумышленник может благодаря этому манипулировать сервером. Использование уязвимости дает возможность осуществлять DoS-атаку.