Исследователи обнаружили способ вывести из строя некоторые серверы, прокси и балансировщики с поддержкой HTTP/2. Атакующему не нужны учётная запись, большой поток запросов или доступ к панели управления. Достаточно открыть несколько потоков внутри одного соединения, запросить объёмные данные и запретить серверу отправлять ответы.
Уязвимая реализация продолжает выполнять запросы и складывает подготовленные ответы в оперативную память. Данные не уходят клиенту, буферы растут, а сервер в итоге замедляется, завершает рабочие процессы или полностью перестаёт отвечать.
Проблему обнаружила команда Okta Red Team. Координационный центр CERT/CC опубликовал уведомление VU#885548 16 июля 2026 года и обновил его 23 июля. Для разных продуктов выпущены отдельные исправления и присвоены разные идентификаторы CVE.
HTTP/2 позволяет передавать много запросов и ответов через одно сетевое соединение. Каждый обмен идёт в собственном логическом потоке. Такой механизм сокращает число соединений и помогает быстрее загружать страницы и программные интерфейсы.
Протокол использует управление потоком данных. Получатель сообщает отправителю, какой объём информации он готов принять. После заполнения доступного окна передача останавливается, пока клиент не разрешит отправить следующую порцию.
Злоумышленник может установить параметр SETTINGS_INITIAL_WINDOW_SIZE в ноль. Второй вариант — не отправлять кадры WINDOW_UPDATE, которыми клиент увеличивает доступное окно.
Сервер после этого не имеет права передавать основное содержимое ответа. Корректная реализация должна ограничить объём подготовленных данных, приостановить работу приложения или закрыть подозрительное соединение.
Уязвимые реализации действуют иначе. Они продолжают читать файлы, обращаться к внутреннему приложению и формировать полные ответы. Каждый ответ остаётся в памяти до закрытия потока или срабатывания тайм-аута. Атакующий создаёт новые потоки, и объём занятых буферов быстро растёт.
Относительно небольшой входящий запрос способен заставить сервер подготовить значительно больше данных. Точный коэффициент увеличения нагрузки зависит от размера ресурсов, числа потоков, внутренних ограничений и времени жизни соединения.
Первым признаком атаки становится быстрый рост потребления оперативной памяти при сравнительно небольшом входящем трафике. После заполнения памяти система начинает активно использовать файл подкачки, из-за чего резко увеличиваются задержки.
Дальнейший сценарий зависит от настроек операционной системы и приложения. Серверный процесс может быть принудительно завершён механизмом защиты от нехватки памяти. В более тяжёлом случае зависает вся система.
Жёсткий предел памяти тоже не гарантирует доступность. Злоумышленник способен занять допустимое число соединений, потоков или рабочих обработчиков. Процесс формально продолжит работать, но перестанет обслуживать новых пользователей.
Опубликованные материалы описывают отказ в обслуживании. Признаков выполнения произвольного кода, чтения чужих данных или изменения содержимого сервера через эту ошибку не обнаружено.
Новую проблему некорректно называть универсальной уязвимостью протокола HTTP/2. Опасное поведение появляется в отдельных программах, которые не ограничивают размер очереди ответов и не отключают клиентов, переставших принимать данные.
Рабочая группа IETF по HTTP указала, что объектами раскрытия должны быть конкретные реализации. Стандарт уже содержит общие рекомендации по защите от отказа в обслуживании, но не определяет внутреннюю архитектуру памяти каждого сервера.
Наличие HTTP/2 само по себе не означает уязвимость. Проверять необходимо серверную библиотеку, веб-прокси, балансировщик, шлюз программных интерфейсов и другие компоненты, которые завершают HTTP/2-соединение.
CVE-2026-59173 относится к Apache Traffic Server — высокопроизводительному прокси-серверу и системе кэширования. Его не следует путать с Apache HTTP Server.
Уязвимы Apache Traffic Server:
-
от 9.0.0 до 9.2.13 включительно;
-
от 10.0.0 до 10.1.2 включительно.
Пользователям ветки 9.x необходимо установить 9.2.14 или более новую версию. Для ветки 10.x исправление вошло в 10.1.3. Обе сборки выпущены 16 июля 2026 года.
Ограничение числа активных HTTP/2-потоков в старых версиях фактически работало как рекомендация. Клиент мог создавать потоки быстрее, чем сервер начинал их ограничивать, и постепенно заполнять память прокси. Новые версии принудительно отклоняют лишние потоки кодом REFUSED_STREAM.
В структурированных базах уязвимостей появилось расхождение. Текст записи CVE упоминает версии до 9.1.13 и обновление 9.1.14. Официальное уведомление Apache указывает 9.2.13 и 9.2.14. Владельцам Traffic Server следует ориентироваться на бюллетень разработчика и страницу загрузок проекта.
Уязвимость получила 7,5 балла по CVSS 3.1. Атака выполняется через сеть, не требует авторизации или действий пользователя и серьёзно влияет на доступность системы.
Статус Apache HTTP Server в матрице CERT/CC остаётся неизвестным. Отсутствие подтверждения уязвимости нельзя трактовать как доказательство безопасности этого продукта.
CVE-2026-44909 обнаружена в Proxygen — библиотеке Meta для создания HTTP-серверов, прокси и клиентов.
В описании CVE указано, что проблема затрагивает выпуски от v2017.01.16.00 до v2026.07.20.00. Запись получила оценку 7,5 балла по CVSS 3.1. Удалённому атакующему не нужны права или взаимодействие с пользователем.
В самой записи есть небольшое противоречие. Текст называет v2026.07.20.00 уязвимой, а структурированное поле границы версий использует условие «меньше v2026.07.20.00». Владельцам этой сборки безопаснее считать её потенциально уязвимой до получения отдельного подтверждения от разработчиков.
Исправление добавляет в основной слой HTTP-сеанса детектор клиента, который слишком медленно принимает данные. Он следит за объёмом накопившихся ответов и проверяет, забирает ли получатель полезное содержимое.
Соединение закрывается, если очередь остаётся больше заданного порога, а клиент за установленное время принимает слишком мало данных. Служебные кадры не засчитываются как полезная передача, поэтому атакующий не сможет поддерживать соединение одними пакетами PING.
Защита в опубликованном изменении отключена по умолчанию: нулевой порог очереди выключает проверку. Приложение, использующее Proxygen, должно самостоятельно вызвать setSlowConsumerParams и задать подходящие ограничения. Простое включение исправленного кода в проект не гарантирует, что детектор будет активирован.
F5 зарегистрировала CVE-2026-59762 для систем BIG-IP и ряда продуктов BIG-IP Next. Проблема проявляется, если с виртуальным сервером связан профиль HTTP/2.
Специально сформированные запросы увеличивают потребление памяти процессом TMM — компонентом, который обрабатывает пользовательский трафик. Производительность снижается до принудительного или ручного перезапуска TMM. Управляющая часть устройства напрямую не затронута.
Уязвимость получила 8,7 балла по CVSS 4.0 и 7,5 балла по CVSS 3.1. Атака проводится удалённо и без авторизации.
Для классического BIG-IP исправления вошли в версии:
-
17.1.3.4;
-
17.5.1.8;
-
21.0.0.3;
-
21.1.0.1.
Также затронуты BIG-IP Next for Kubernetes, BIG-IP Next SPK и BIG-IP Next CNF. Для веток Next 2.x исправленные границы зависят от продукта и включают версии 2.2.3 и 2.3.2. Для BIG-IP Next SPK 1.9.x публичная запись CVE пока не указывает конечную исправленную сборку.
Владельцам устройств необходимо сверять точную версию с бюллетенем F5. Производитель оценивает только ветки, которые ещё находятся на технической поддержке.
Проблема в NetScaler ADC и NetScaler Gateway относится к CVE-2026-13474. Она проявляется, если HTTP/2 включён в HTTP-профиле и этот профиль связан с балансировщиком, сервером коммутации содержимого, шлюзом VPN или отдельным сервисом.
Cloud Software Group подтвердила, что поведение, найденное Okta Red Team, устранено изменениями для этой CVE. Оценка уязвимости достигает 8,7 балла по CVSS 4.0.
Исправления доступны в сборках:
-
NetScaler ADC и Gateway 14.1-72.61;
-
NetScaler ADC и Gateway 13.1-63.18;
-
NetScaler ADC 14.1-FIPS 14.1-72.61;
-
NetScaler ADC 13.1-FIPS и 13.1-NDcPP 13.1-37.272.
Для полной защиты требуется обновить прошивку и проверить параметр Http2SmallWndTimeout. Он определяет, сколько секунд может существовать HTTP/2-поток с нулевым или слишком маленьким окном передачи.
Строгие HTTP-профили после обновления автоматически получают значение 30 секунд. В обычных профилях параметр по умолчанию равен нулю, поэтому тайм-аут остаётся отключённым. Администратор должен вручную установить значение 30 секунд:
set ns httpProfile <имя_профиля> -http2SmallWndTimeout 30
Одного обновления прошивки для обычного профиля недостаточно.
CERT/CC перечисляет Apache Traffic Server, Citrix, F5, Meta, Red Hat, SUSE и Yahoo среди затронутых участников координации. Такая отметка не означает, что уязвимы все продукты или все выпуски каждого производителя. Окончательное решение следует принимать по продуктовому бюллетеню и точной версии компонента.
Ряд реализаций сообщил об отсутствии проблемы. Fastly ограничивает размер буфера для данных от внутреннего сервера. Проверенные версии BIND удерживали не более примерно 1,6 МБ на одно соединение даже при искусственно крупных ответах и закрывали неактивные соединения через 30 секунд.
Статус многих других серверов и библиотек остаётся неизвестным. Если продукт не указан среди подтверждённо затронутых, это ещё не доказывает, что он безопасен.
Публичные записи на 24 июля 2026 года не содержат подтверждений использования этой техники в реальных атаках.
Карточки Proxygen и F5 в NVD содержат оценку CISA со статусом exploitation: none. Аналогичная отметка присутствует у NetScaler. Уязвимости также не найдены в опубликованных обновлениях каталога активно эксплуатируемых проблем CISA.
Вопросы и ответы
Уязвим ли сам стандарт HTTP/2?
Нет. Ошибка находится в отдельных программных реализациях, которые продолжают создавать и хранить ответы после остановки передачи данных.
Нужна ли атакующему учётная запись?
Нет. Все четыре рассмотренные CVE допускают удалённую атаку без авторизации.
Может ли злоумышленник украсть данные?
Опубликованные материалы описывают нарушение доступности. Возможность чтения данных, изменения файлов или выполнения кода не подтверждена.
Уязвим ли Apache HTTP Server?
CVE-2026-59173 относится к Apache Traffic Server. Это самостоятельный продукт. Статус Apache HTTP Server в уведомлении CERT/CC пока остаётся неизвестным.
Какую версию Apache Traffic Server устанавливать?
Ветка 9.x должна быть обновлена до 9.2.14 или новее. Ветка 10.x — до 10.1.3 или новее. Указание 9.1.14 в некоторых базах противоречит официальному бюллетеню Apache.
Достаточно ли обновить NetScaler?
Для строгих HTTP-профилей достаточно установить исправленную сборку. В обычных профилях нужно вручную задать Http2SmallWndTimeout равным 30 секундам.
Достаточно ли обновить Proxygen?
Не всегда. Добавленный детектор клиента, который перестал принимать данные, является настраиваемым и по умолчанию отключён. Разработчику приложения необходимо включить его и задать пороги.
Нужно ли отключать HTTP/2?
Отключение можно использовать как временную меру для подтверждённо уязвимой системы, если обновление пока невозможно. Основным решением остаются исправление продукта и настройка ограничений ресурсов.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.