HTTP/2-серверы под угрозой DoS-атак

Специалисты компаний Google и Netflix нашли группу DoS-уязвимостей в конфигурациях HTTP/2-серверов крупных вендоров и в аналогичных решениях с открытым кодом. Обнаруженные баги позволяют даже не самому продвинутому злоумышленнику заблокировать сервер — вредоносный клиент обрушит на цель запросы без возможности предоставить адекватные ответы.

По информации на момент публикации, заплатки ко всем уязвимостям выпустила компания Cloudfare, которая работает с решением NGINX. Разработчики Apple и Microsoft залатали по пять дыр, влиявших на их системы. Специалисты Akamai, которые также отметились патчами, в пояснении к уязвимостям сравнили их с атаками на базе Slowloris — эта техника также расходовала ресурсы веб-сервера неполными запросами.

Список затронутых продуктов также включает Ambassador (API Gateway), Apache Traffic Server, Netty Project, nghttp2, Node.js, Envoy (Proxy).

Технически обнаруженные уязвимости похожи друг на друга. Различия заключаются в типе данных, которые перегружают атакуемый сервер:

    • CVE-2019-9511— манипулирует размерами окна и приоритизацией потоков данных.
    • CVE-2019-9512— заставляет сервер выстраивать внутреннюю очередь из ответов на множество «пинговых» запросов.
    • CVE-2019-9513— позволяет злоумышленнику создать многочисленные потоки запросов и постоянно менять их внутреннюю очередность, ломая дерево приоритетов сервера.
    • CVE-2019-9514— перегружает сервер некорректными потоками, что приводит к созданию чрезмерного количества фреймов RST_STREAM, которые перезапускают такие процессы.
    • CVE-2019-9515— блокирует работу множеством фреймов SETTINGS, на каждый из которых, согласно спецификации HTTP/2, сервер должен ответить.
    • CVE-2019-9516—эксплуатирует потоки заголовков с нулевой длиной.
    • CVE-2019-9517— использует неограниченный буферинг внутренних данных. Для этого взломщику нужно открыть окно HTTP/2 без окна TCP и отправить запрос на некий массивный объект — сервер не сможет подготовить ответ и повиснет.
    • CVE-2019-9518— применяет потоки фреймов с пустой полезной нагрузкой и без завершающего флага; время обработки таких объектов оказывается непропорционально больше разрешающей способности сетевых каналов.

По словам специалистов Cloudfare, с момента обнаружения уязвимостей они отслеживают появление атак на их основе. На данный момент известно о нескольких локальных инцидентах, но до масштабных атак дело пока не дошло.

Источник: https://threatpost.ru/http2-bugs-allow-dos-attacks/33807/