Уязвимость DoS атаки в HTTP/2 из-за некорректной обработки специально сформированных запросов в HTTP.sys
Описание
Существует уязвимость DoS атаки в протоколе HTTP/2 (HTTP.sys), когда HTTP.sys некорректно парсит специально сформированные HTTP/2 запросы. Злоумышленник, который успешно воспользуется этой уязвимостью, способен вызвать состояние DoS, что приведет к прекращению ответа со стороны целевой системы.
Условия эксплуатации
Для эксплуатации уязвимости злоумышленник без аутентификации способен отправить специально сформированный HTTP-пакет на целевую систему, вызывая ее недоступность.
Решение
Обновление устраняет уязвимость путем изменения обработки запросов HTTP/2 в Windows HTTP. Обратите внимание, что данная уязвимость DoS не позволяет злоумышленнику выполнять код или повышать уровень доступа пользователя.
Меры защиты
Следующая мера защиты может быть полезна. Microsoft настоятельно рекомендует установить обновления для устранения уязвимости как можно скорее, даже если вы планируете оставить этот способ защиты активным:
- Отключите протокол HTTP/2 на вашем веб-сервере с помощью Редактора реестра.
Примечание: Неправильное использование Редактора реестра может привести к серьезным проблемам, требующим переустановки операционной системы. Microsoft не может гарантировать, что проблемы, вызванные неправильным использованием Редактора реестра, могут быть решены. Используйте Редактор реестра на свой страх и риск. Для редактирования реестра обратитесь к справочным темам "Изменение ключей и значений" в Редакторе реестра (Regedit.exe) или "Добавление и удаление информации в реестре" и "Редактирование данных реестра" в Regedt32.exe.
Инструкции:
- Нажмите Пуск, выберите Выполнить, введите Regedit в поле Открыть и нажмите ОК.
- Перейдите и выберите следующий подраздел реестра:
HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
- Установите значения типа DWORD для EnableHttp2TIs и EnableHttp2Cleartext:
- Установите 0 для отключения HTTP/2
- Установите 1 для включения HTTP/2
- Выйдите из Редактора реестра.
- Перезагрузите компьютер.
Часто задаваемые вопросы (FAQ)
После установки обновлений HTTP/2, нужно ли сделать что-то еще, чтобы защититься от этой уязвимости?
Да. Обновление добавляет настройки конфигурации к серверу IIS, но они по умолчанию отключены. Для полной защиты от уязвимостей администратор должен настроить свои серверы на ограничение числа принимаемых пакетов HTTP/2. Это может варьироваться в зависимости от среды и услуг, работающих на каждом сервере.
Примечание: Использование Редактора реестра неправильно может вызвать серьезные проблемы, требующие повторной установки операционной системы. Microsoft не может гарантировать, что проблемы, вызванные неправильным использованием Редактора реестра, могут быть решены. Используйте Редактор реестра на свой риск.
Настройки для соединений:
- Нажмите Пуск, выберите Выполнить, введите Regedit в поле Открыть и нажмите ОК.
- Перейдите и выберите следующий подраздел реестра:
HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
- Установите значение типа DWORD для Http2MaxPingsPerMinute:
- Диапазон от 0 до 0xFF
- Это значение задает максимальное количество пингов в минуту, которые клиент может отправить серверу.
- Выйдите из Редактора реестра.
- Перезагрузите компьютер.
Потоковые настройки:
- Нажмите Пуск, выберите Выполнить, введите Regedit в поле Открыть и нажмите ОК.
- Перейдите и выберите следующий подраздел реестра:
HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
- Установите значения типа DWORD для любых из следующих ключей:
- Http2MaxServerResetsPerMinute
- Диапазон от 0 до 0xFFFF
- Это значение задает максимальное количество запросов в минуту от клиента, которые могут генерировать кадры сброса сервера.
- Http2MaxPrioritiesPerStream
- Диапазон от 0 до 0xFF
- Это значение задает максимальное количество приоритетных кадров в минуту, которые клиент может отправить серверу.
- Http2MaxResetsPerStream
- Диапазон от 0 до 0xFF
- Это значение задает максимальное количество сбросов кадров в минуту, которые клиент может отправить серверу.
- Http2MaxUnknownsPerStream
- Диапазон от 0 до 0xFF
- Это значение задает максимальное количество неизвестных кадров в минуту, которые клиент может отправить серверу.
- Http2MaxWindowUpdatesPerSend
- Диапазон от 0 до 0xFF
- Это значение задает максимальное количество обновлений окон в минуту, которые клиент может отправить серверу.
- Http2MinimumSendWindowSize
- Диапазон от 0 до 0xFFFF
- Это значение задает минимальный размер окна отправки для кадров данных.
- Http2MaxServerResetsPerMinute
- Выйдите из Редактора реестра.
- Перезагрузите компьютер.
Обновления
Продукт | Статья | Обновление |
---|---|---|
Windows 10 for 32-bit Systems | ||
Windows 10 for x64-based Systems | ||
Windows Server 2016 | ||
Windows 10 Version 1607 for 32-bit Systems | ||
Windows 10 Version 1607 for x64-based Systems | ||
Windows Server 2016 (Server Core installation) | ||
Windows 10 Version 1703 for 32-bit Systems | ||
Windows 10 Version 1703 for x64-based Systems | ||
Windows 10 Version 1709 for 32-bit Systems | ||
Windows 10 Version 1709 for x64-based Systems |
Показывать по
Возможность эксплуатации
Publicly Disclosed
Exploited
Latest Software Release
Older Software Release
DOS
EPSS
7.5 High
CVSS3
Связанные уязвимости
Some HTTP/2 implementations are vulnerable to a reset flood, potentially leading to a denial of service. The attacker opens a number of streams and sends an invalid request over each stream that should solicit a stream of RST_STREAM frames from the peer. Depending on how the peer queues the RST_STREAM frames, this can consume excess memory, CPU, or both.
Some HTTP/2 implementations are vulnerable to a reset flood, potentially leading to a denial of service. The attacker opens a number of streams and sends an invalid request over each stream that should solicit a stream of RST_STREAM frames from the peer. Depending on how the peer queues the RST_STREAM frames, this can consume excess memory, CPU, or both.
Some HTTP/2 implementations are vulnerable to a reset flood, potentially leading to a denial of service. The attacker opens a number of streams and sends an invalid request over each stream that should solicit a stream of RST_STREAM frames from the peer. Depending on how the peer queues the RST_STREAM frames, this can consume excess memory, CPU, or both.
Some HTTP/2 implementations are vulnerable to a reset flood, potential ...
golang.org/x/net/http vulnerable to a reset flood
EPSS
7.5 High
CVSS3