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

exploitDog

msrc логотип

CVE-2019-9518

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

Уязвимость DoS атаки в HTTP/2 из-за некорректного разбора HTTP/2-запросов в протоколе Windows HTTP

Описание

Уязвимость DoS атаки присутствует в протоколе HTTP/2 (HTTP.sys) из-за некорректной обработки специально сформированных HTTP/2-запросов. Злоумышленник, успешно эксплуатировавший уязвимость, способен создать ситуацию DoS атаки, заставляя целевую систему стать неотзывчивой.

Условия эксплуатации

Для эксплуатации уязвимости злоумышленник может отправить специально сформированный HTTP пакет на целевую систему, заставляя ее стать неотзывчивой.

Решение

Обновление исправляет уязвимость, модифицируя обработку HTTP/2-запросов в протоколе Windows HTTP. Обратите внимание, что уязвимость DoS атаки не позволяет злоумышленнику выполнить код или повысить уровень доступа пользователя.

Меры защиты

Следующая мера защиты может быть полезна в вашей ситуации. Во всех случаях Microsoft настоятельно рекомендует установить обновления для этой уязвимости как можно скорее, даже если вы планируете оставить этот способ защиты:

Отключите протокол HTTP/2 на вашем веб-сервере, используя редактор реестра

Примечание: Некорректное использование редактора реестра может вызвать серьезные проблемы, которые могут потребовать переустановки операционной системы. Microsoft не гарантирует, что проблемы, возникшие в результате некорректного использования редактора реестра, могут быть решены. Используйте редактор реестра на свой страх и риск. Для получения информации о редактировании реестра ознакомьтесь с помощью по теме "Изменение ключей и значений" в редакторе реестра (Regedit.exe) или с темами справки "Добавление и удаление информации в реестре" и "Редактирование данных реестра" в Regedt32.exe.

  1. Нажмите Пуск, выберите Выполнить, введите Regedit в поле Открыть и нажмите OK.
  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-пакетов. Это может варьироваться в зависимости от окружения и запущенных на каждом сервере сервисов.

Настройки, специфичные для подключения

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

Настройки, специфичные для потока

  1. Нажмите Пуск, выберите Выполнить, введите Regedit в поле Открыть и нажмите OK.
  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

Процентиль: 87%
0.03674
Низкий

7.5 High

CVSS3

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

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

Some HTTP/2 implementations are vulnerable to a flood of empty frames, potentially leading to a denial of service. The attacker sends a stream of frames with an empty payload and without the end-of-stream flag. These frames can be DATA, HEADERS, CONTINUATION and/or PUSH_PROMISE. The peer spends time processing each frame disproportionate to attack bandwidth. This can consume excess CPU.

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

Some HTTP/2 implementations are vulnerable to a flood of empty frames, potentially leading to a denial of service. The attacker sends a stream of frames with an empty payload and without the end-of-stream flag. These frames can be DATA, HEADERS, CONTINUATION and/or PUSH_PROMISE. The peer spends time processing each frame disproportionate to attack bandwidth. This can consume excess CPU.

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

Some HTTP/2 implementations are vulnerable to a flood of empty frames, potentially leading to a denial of service. The attacker sends a stream of frames with an empty payload and without the end-of-stream flag. These frames can be DATA, HEADERS, CONTINUATION and/or PUSH_PROMISE. The peer spends time processing each frame disproportionate to attack bandwidth. This can consume excess CPU.

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

Some HTTP/2 implementations are vulnerable to a flood of empty frames, ...

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

Some HTTP/2 implementations are vulnerable to a flood of empty frames, potentially leading to a denial of service. The attacker sends a stream of frames with an empty payload and without the end-of-stream flag. These frames can be DATA, HEADERS, CONTINUATION and/or PUSH_PROMISE. The peer spends time processing each frame disproportionate to attack bandwidth. This can consume excess CPU.

EPSS

Процентиль: 87%
0.03674
Низкий

7.5 High

CVSS3