CVE: CVE-2026-90439
Продукт: NGINX
Дата публикации: 15.09.2026
Критичность: MEDIUM
CVSS: 6.9 (4.0)
EPSS: 0,26%; процентиль 17,45%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
15 сентября 2026 года F5 опубликовала уведомление об уязвимости CVE-2026-90439 в модуле
ngx_http_v3_module. Дефект позволяет удалённому атакующему вызвать переполнение кучи при обработке TLS-рукопожатия, что приводит к перезапуску воркера и ограниченной порче данных.Исправление доступно в версиях 1.31.6 и 1.30.5. Ниже описаны условия срабатывания, механика атаки и порядок проверки системы.
Основные характеристики
Уязвимость представляет собой переполнение кучи (heap buffer overflow) в компоненте обработки HTTP/3. Риск заключается в отказе в обслуживании (DoS) и ограниченной порче данных при обработке TLS-соединений. Атака возможна удалённо без аутентификации, однако её срабатывание не детерминировано и не полностью контролируется злоумышленником.
- Тип ошибки: CWE-122 (Heap-based Buffer Overflow).
- CVSS 4.0: 6.9 (MEDIUM). Вектор:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X.
- Условия атаки: Сеть (AV:N), низкая сложность (AC:L), отсутствие требований к аутентификации (PR:N).
- Эксплуатация: Подтверждённых фактов массового использования в дикой природе (KEV) на момент публикации нет.
- EPSS: 0,26% (0.00256), что указывает на низкую вероятность эксплуатации в ближайшие 30 дней.
Какие продукты и версии затронуты
Уязвимость затрагивает продукты NGINX Open Source и NGINX Plus, использующие модуль
ngx_http_v3_module. Согласно официальным данным вендора, дефект присутствует в следующих диапазонах версий:- NGINX Open Source: 1.29.2 – 1.31.5.
- NGINX Plus: 1.29.2 – 1.31.5.
Версии, не содержащие уязвимость:
- NGINX Open Source: 1.31.6 и выше.
- NGINX Plus: 1.30.5 и выше.
Важно учитывать, что уязвимость проявляется только при использовании HTTP/3 в связке с OpenSSL версий 3.5.0 и ниже. Версии, достигшие статуса End of Technical Support (EoTS), не оценивались.
Причина уязвимости
Причина дефекта кроется в некорректной обработке данных в модуле
ngx_http_v3_module. При выполнении TLS-рукопожатия в условиях определённой конфигурации происходит переполнение ограниченного буфера в куче (heap buffer overflow).Критическим фактором является взаимодействие с библиотекой OpenSSL. Если в системе установлена версия OpenSSL 3.5.0 или более ранняя, логика обработки рукопожатия может привести к записи данных за пределы выделенной памяти. Это нарушает целостность структуры данных в процессе-воркере NGINX.
Как работает атака
Атакующий направляет на уязвимый сервер запрос, инициирующий TLS-рукопожатие через протокол HTTP/3. В процессе обработки этого соединения модуль
ngx_http_v3_module взаимодействует с OpenSSL. При определённых условиях конфигурации происходит переполнение буфера в куче.Срабатывание уязвимости не является детерминированным. Атакующий не может гарантированно вызвать переполнение по своему желанию; процесс происходит в режиме, выходящем за рамки прямого контроля злоумышленника. Тем не менее, при успешном срабатывании происходит повреждение памяти, что приводит к аварийному завершению процесса-воркера (restart) и потенциальной ограниченной порче данных.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости должны быть выполнены следующие условия:
- Сервер работает на уязвимой версии NGINX (1.29.2 – 1.31.5).
- В конфигурации NGINX включена поддержка HTTP/3.
- Используется библиотека OpenSSL версии 3.5.0 или более ранней.
- Атакующий имеет сетевой доступ к порту, на котором слушает HTTP/3.
Аутентификация не требуется. Уязвимость находится в data plane, поэтому контроль-план (control plane) не затрагивается.
Возможный сценарий атаки
Злоумышленник сканирует сеть в поисках серверов, поддерживающих HTTP/3. Выбрав цель, он инициирует TLS-рукопожатие.
Если конфигурация сервера соответствует условиям срабатывания, происходит переполнение кучи в процессе-воркере. В результате воркер аварийно завершает работу. NGINX может перезапустить процесс, что приведёт к кратковременной недоступности сервиса для текущих соединений.
В худшем случае возможна порча данных, обрабатываемых в момент сбоя. Поскольку атака не детерминирована, атакующему может потребоваться несколько попыток для достижения эффекта.
Есть ли публичный эксплойт
На момент публикации CVE-2026-90439 в каталоге CISA KEV (Known Exploited Vulnerabilities) уязвимость не фигурирует. Это означает, что нет подтверждённых данных о её активном использовании в реальных атаках.
Публичные эксплойты или PoC (Proof of Concept) в открытых источниках не зафиксированы. Отсутствие сведений об эксплуатации не гарантирует, что эксплойт не существует, но текущий статус указывает на то, что уязвимость пока не используется массово.
Признаки эксплуатации
Специфичных индикаторов компрометации (IOC), уникальных именно для CVE-2026-90439, в официальных источниках не опубликовано. Для выявления атаки следует использовать общие методы мониторинга отказов в обслуживании:
- Частые аварийные завершения (crash) процессов-воркеров NGINX.
- Записи в системном журнале (syslog) о сегментации (segfault) или ошибках памяти в процессе nginx.
- Пиковые значения CPU или памяти, предшествующие перезапуску воркеров.
Эти признаки неспецифичны и могут быть вызваны другими причинами, но в контексте HTTP/3 и OpenSSL они требуют внимания.
Как обнаружить атаку
Для обнаружения попыток эксплуатации или последствий уязвимости рекомендуется настроить мониторинг следующих событий:
- Логи ошибок NGINX: Отслеживание сообщений об аварийном завершении воркеров, особенно связанных с обработкой HTTP/3.
- Системные журналы: Анализ записей ядра Linux о сегментации процессов nginx.
- Мониторинг доступности: Наблюдение за внезапными сбоями в обслуживании HTTP/3-трафика.
Также полезно проверять конфигурацию на наличие использования уязвимых версий OpenSSL в связке с HTTP/3.
Как проверить свою версию
Для проверки текущей версии NGINX и определения необходимости обновления используйте следующие команды:
Bash:
nginx -v
nginx -V
dpkg-query -W nginx 2>/dev/null || rpm -q nginx 2>/dev/null
Команда
nginx -V также покажет параметры компиляции, включая версию OpenSSL. Если версия NGINX находится в диапазоне 1.29.2 – 1.31.5, а версия OpenSSL не превышает 3.5.0, система уязвима.Исправление
Единственным надёжным способом устранения уязвимости является обновление NGINX до версий, содержащих исправление:
- NGINX Open Source: обновить до версии 1.31.6 или выше.
- NGINX Plus: обновить до версии 1.30.5 или выше.
После обновления необходимо перезапустить сервис NGINX для применения изменений. Также рекомендуется проверить, что используемая версия OpenSSL соответствует требованиям безопасности, хотя основной вектор атаки связан с логикой модуля
ngx_http_v3_module.Временные меры защиты
Если немедленное обновление невозможно, можно временно снизить риск, отключив поддержку HTTP/3 в конфигурации NGINX. Это исключит использование уязвимого модуля
ngx_http_v3_module.Пример отключения HTTP/3 (зависит от версии и конфигурации):
NGINX:
# Убедитесь, что listen-директивы не содержат опции http3
# Например, вместо:
# listen [::]:443 ssl http3;
# используйте:
# listen [::]:443 ssl;
После изменения конфигурации выполните
nginx -t для проверки синтаксиса и перезагрузите сервис. Это временная мера, так как отключение HTTP/3 может повлиять на производительность и функциональность.Как проверить устранение уязвимости
После обновления NGINX необходимо убедиться, что уязвимость устранена:
- Проверьте версию:
nginx -vдолжна показывать 1.31.6+ (для Open Source) или 1.30.5+ (для Plus).
- Проверьте конфигурацию: убедитесь, что HTTP/3 настроен корректно, если он всё ещё используется.
- Проведите функциональное тестирование HTTP/3-соединений, чтобы убедиться в работоспособности сервиса.
- Мониторьте логи на предмет повторных аварийных завершений воркеров после обновления.
Вывод
CVE-2026-90439 представляет собой уязвимость средней критичности, ведущую к отказу в обслуживании и порче данных. Несмотря на отсутствие подтверждённых фактов массового использования, риск для систем с включённым HTTP/3 и устаревшим OpenSSL реален.
Рекомендуется как можно скорее обновить NGINX до исправленных версий. Если это невозможно, временно отключите HTTP/3. Регулярный мониторинг логов и версий поможет своевременно выявлять и устранять подобные угрозы.
Официальные источники
История обновлений статьи
- 16.09.2026 — Опубликована первая версия материала.
- 17.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
