Найдена критическая уязвимость в NGINX

Исследователь безопасности из компании VulnCheck Патрик Гаррити, обнаружил критическую уязвимость Nginx (CVE-2026-42945), которая уже используется хакерами.

Уязвимость, получившая название NGINX Rift, может быть надежно использована для вызова отказа в обслуживании (DoS) и потенциально может позволить выполнить удаленный код без аутентификации; все это достигается путем отправки специально сформированного HTTP-запроса на уязвимый экземпляр NGINX.

Что такое NGINX?

NGINX — это широко используемый веб-сервер и один из фундаментальных компонентов современной веб-инфраструктуры. Он также может выполнять другие функции: балансировщика нагрузки, обратного прокси-сервера и HTTP-кеша.

Его разработкой занимается компания F5, специализирующаяся на сетевых технологиях и доставке приложений. Она поддерживает и выпускает версию с открытым исходным кодом (NGINX Open Source), предлагает коммерческую версию NGINX Plus.

О CVE-2026-42945

CVE-2026-42945 — это уязвимость, связанная с повреждением памяти, которая затрагивает NGINX Open Source (версии от 0.6.27 до 1.30.0) и NGINX Plus (версии от R32 до R36). Она также затрагивает некоторые продукты F5, в которых используется это программное обеспечение, такие как NGINX Ingress Controller, F5 WAF для NGINX и другие.

Ошибка в ngx_http_rewrite_module позволяет удаленному неавторизованному злоумышленнику повредить heap рабочего процесса NGINX путем отправки специально сформированного URI. Триггером является распространенный шаблон конфигурации: директива rewrite с безымянным захватом регулярного выражения ($1, $2) и строкой замены, содержащей вопросительный знак, за которой следует другая директива rewrite, if или set, объяснили исследователи, обнаружившие уязвимость.

Когда присутствует этот шаблон, NGINX вычисляет буфер назначения, используя один набор допущений об экранировании, а затем записывает в него, используя другой. Запись выходит за пределы выделенного буфера, вызывая детерминированное повреждение памяти. Байты, записанные за пределы выделенного пространства, производны от URI злоумышленника, поэтому повреждение формируется злоумышленником, а не является случайным. Повторные запросы также могут использоваться для удержания рабочих процессов в цикле сбоев и ухудшения доступности для каждого сайта, обслуживаемого экземпляром.

Показатель работоспособности (PoC) и эксплуатация

CVE-2026-42945, наряду с четырьмя другими проблемами безопасности, была обнаружена исследователями Depthfirst с помощью собственной платформы обнаружения уязвимостей на базе искусственного интеллекта. Из пяти уязвимостей CVE-2026-42945 была самой критической.

После того как F5 выпустила исправления и рекомендацию по безопасности, исследователи Depthfirst опубликовали технические детали и эксплойт «доказательство концепции».

По словам Гаррити, системы раннего обнаружения VulnCheck начали фиксировать попытки эксплуатации 16 мая, через три дня после того, как уязвимость и PoC были обнародованы.

Эффективность этих попыток зависит от целевой системы.

Хотя DoS-атаку можно осуществить на стандартных конфигурациях NGINX, как VulnCheck, так и исследователь по безопасности Кевин Бомонт указали, что злоумышленники могут добиться выполнения кода, если им удастся отключить рандомизацию расположения адресного пространства (ASLR) на целевом сервере.

Еще одно ограничение заключается в том, что целевой Сервер должен использовать определенную конфигурацию перезаписи, чтобы быть уязвимым, поэтому не каждый экземпляр NGINX подвержен эксплуатации. Наш запрос в Censys выявил примерно 5,7 млн серверов NGINX, доступных из Интернета и работающих на потенциально уязвимой версии, хотя количество действительно уязвимых серверов, вероятно, составляет гораздо меньшую часть от этого числа, как отметила команда VulnCheck Initial Access.

Исправления

На данный момент F5 исправила уязвимость в:

  • NGINX Open Source – версии 1.31.0 и 1.30.1
  • NGINX Plus – версии R36 P4 и R32 P6
  • F5 WAF для NGINX v5.13.0
  • F5 DOS для NGINX v4.9.0

Также было предложено средство защиты: использование именованных захватов вместо безымянных в определениях rewrite.

РазработчикиAlmaLinux, Ubuntu и Debian начали выпускать исправленные пакеты nginx.