Уязвимость DoS в HTTP/2 из-за некорректной обработки специально сформированных HTTP/2-запросов в HTTP.sys
Описание
Злоумышленник, успешно эксплуатировавший эту уязвимость, способен создать состояние DoS, из-за чего целевая система становится неотзывчивой.
Условия эксплуатации
Для эксплуатации уязвимости злоумышленник может отправить специально сформированный HTTP-пакет на целевую систему, что вызывает ее неотзывчивость. Уязвимость не позволяет злоумышленнику выполнить код или повысить уровень доступа.
Решение
Обновление исправляет уязвимость путем изменения обработки запросов HTTP/2 в протоколе Windows.
Способы защиты
Вы можете временно защититься от уязвимости, отключив протокол HTTP/2 на вашем веб-сервере с помощью Редактора реестра. Однако обязательно установите обновления безопасности, даже если планируете оставить этот способ защиты.
Отключение HTTP/2
- Нажмите Пуск, выберите Выполнить, введите Regedit в поле Открыть и нажмите ОК.
- Найдите и выберите следующий подраздел реестра:
HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
. - Установите значения типа DWORD для
EnableHttp2TIs
иEnableHttp2Cleartext
:- Установите 0, чтобы отключить HTTP/2.
- Установите 1, чтобы включить HTTP/2.
- Закройте Редактор реестра.
- Перезагрузите компьютер.
Часто задаваемые вопросы (FAQ)
После установки обновлений для HTTP/2, нужно ли что-то еще сделать для защиты от этой уязвимости?
Да. Обновление добавляет настройки конфигурации на сервер IIS, однако эти настройки выключены по умолчанию. Для полной защиты от уязвимости администратору необходимо настроить сервер для ограничения количества пакетов HTTP/2. Это может варьироваться в зависимости от среды и запущенных на каждом сервере служб.
Настройки, зависящие от соединения
- Нажмите Пуск, выберите Выполнить, введите 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.
- Это устанавливает минимальный размер окна отправки для фреймов данных.
- Закройте Редактор реестра.
- Перезагрузите компьютер.
Обновления
Продукт | Статья | Обновление |
---|---|---|
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 window size manipulation and stream prioritization manipulation, potentially leading to a denial of service. The attacker requests a large amount of data from a specified resource over multiple streams. They manipulate window size and stream priority to force the server to queue the data in 1-byte chunks. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both.
Some HTTP/2 implementations are vulnerable to window size manipulation and stream prioritization manipulation, potentially leading to a denial of service. The attacker requests a large amount of data from a specified resource over multiple streams. They manipulate window size and stream priority to force the server to queue the data in 1-byte chunks. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both.
Some HTTP/2 implementations are vulnerable to window size manipulation and stream prioritization manipulation, potentially leading to a denial of service. The attacker requests a large amount of data from a specified resource over multiple streams. They manipulate window size and stream priority to force the server to queue the data in 1-byte chunks. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both.
Some HTTP/2 implementations are vulnerable to window size manipulation ...
Some HTTP/2 implementations are vulnerable to window size manipulation and stream prioritization manipulation, potentially leading to a denial of service. The attacker requests a large amount of data from a specified resource over multiple streams. They manipulate window size and stream priority to force the server to queue the data in 1-byte chunks. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both.
EPSS
7.5 High
CVSS3