Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

msrc логотип

CVE-2019-9514

Опубликовано: 13 авг. 2019
Источник: msrc
CVSS3: 7.5
EPSS Средний

Уязвимость 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.

Инструкции:

  1. Нажмите Пуск, выберите Выполнить, введите Regedit в поле Открыть и нажмите ОК.
  2. Перейдите и выберите следующий подраздел реестра:
    HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  3. Установите значения типа DWORD для EnableHttp2TIs и EnableHttp2Cleartext:
    • Установите 0 для отключения HTTP/2
    • Установите 1 для включения HTTP/2
  4. Выйдите из Редактора реестра.
  5. Перезагрузите компьютер.

Часто задаваемые вопросы (FAQ)

После установки обновлений HTTP/2, нужно ли сделать что-то еще, чтобы защититься от этой уязвимости?

Да. Обновление добавляет настройки конфигурации к серверу IIS, но они по умолчанию отключены. Для полной защиты от уязвимостей администратор должен настроить свои серверы на ограничение числа принимаемых пакетов HTTP/2. Это может варьироваться в зависимости от среды и услуг, работающих на каждом сервере.

Примечание: Использование Редактора реестра неправильно может вызвать серьезные проблемы, требующие повторной установки операционной системы. Microsoft не может гарантировать, что проблемы, вызванные неправильным использованием Редактора реестра, могут быть решены. Используйте Редактор реестра на свой риск.

Настройки для соединений:

  1. Нажмите Пуск, выберите Выполнить, введите Regedit в поле Открыть и нажмите ОК.
  2. Перейдите и выберите следующий подраздел реестра:
    HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  3. Установите значение типа DWORD для Http2MaxPingsPerMinute:
    • Диапазон от 0 до 0xFF
    • Это значение задает максимальное количество пингов в минуту, которые клиент может отправить серверу.
  4. Выйдите из Редактора реестра.
  5. Перезагрузите компьютер.

Потоковые настройки:

  1. Нажмите Пуск, выберите Выполнить, введите Regedit в поле Открыть и нажмите ОК.
  2. Перейдите и выберите следующий подраздел реестра:
    HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  3. Установите значения типа DWORD для любых из следующих ключей:
    • Http2MaxServerResetsPerMinute
      • Диапазон от 0 до 0xFFFF
      • Это значение задает максимальное количество запросов в минуту от клиента, которые могут генерировать кадры сброса сервера.
    • Http2MaxPrioritiesPerStream
      • Диапазон от 0 до 0xFF
      • Это значение задает максимальное количество приоритетных кадров в минуту, которые клиент может отправить серверу.
    • Http2MaxResetsPerStream
      • Диапазон от 0 до 0xFF
      • Это значение задает максимальное количество сбросов кадров в минуту, которые клиент может отправить серверу.
    • Http2MaxUnknownsPerStream
      • Диапазон от 0 до 0xFF
      • Это значение задает максимальное количество неизвестных кадров в минуту, которые клиент может отправить серверу.
    • Http2MaxWindowUpdatesPerSend
      • Диапазон от 0 до 0xFF
      • Это значение задает максимальное количество обновлений окон в минуту, которые клиент может отправить серверу.
    • Http2MinimumSendWindowSize
      • Диапазон от 0 до 0xFFFF
      • Это значение задает минимальный размер окна отправки для кадров данных.
  4. Выйдите из Редактора реестра.
  5. Перезагрузите компьютер.

Обновления

ПродуктСтатьяОбновление
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

No

Exploited

No

Latest Software Release

Exploitation Less Likely

Older Software Release

Exploitation Less Likely

DOS

N/A

EPSS

Процентиль: 93%
0.10058
Средний

7.5 High

CVSS3

Связанные уязвимости

CVSS3: 7.5
ubuntu
почти 6 лет назад

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.

CVSS3: 7.5
redhat
почти 6 лет назад

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.

CVSS3: 7.5
nvd
почти 6 лет назад

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.

CVSS3: 7.5
debian
почти 6 лет назад

Some HTTP/2 implementations are vulnerable to a reset flood, potential ...

CVSS3: 7.5
github
около 3 лет назад

golang.org/x/net/http vulnerable to a reset flood

EPSS

Процентиль: 93%
0.10058
Средний

7.5 High

CVSS3