Уязвимость CVE-2026-42945 в NGINX активно эксплуатируется хакерами
Активная эксплуатация критической уязвимости CVE-2026-42945 в NGINX Plus и NGINX Open Sourcе была выявлена всего через несколько дней после её публикации. Её использование в атаках зафиксировали специалисты из VulnCheck. По шкале оценки уязвимостей CVSS v4 проблема получила оценку 9,2 балла из 10.
Информацию об уязвимости раскрыли исследователи в середине мая 2026 года. Проблема связана с переполнением буфера, она получила название NGINX Rift. Уязвимость затрагивает модуль ngx_http_rewrite_module, который входит в каждую стандартную сборку NGINX. Поскольку NGINX используется для работы обратных прокси, балансировщиков нагрузки, ingress-контроллеров и платформ доставки приложений, потенциальная поверхность атаки оказывается очень широкой.
Проблема возникает при обработке директив rewrite, которые комбинируют безымянные группы захвата PCRE со строкой замены, содержащей знак вопроса. Условие срабатывания — наличие следующей директивы rewrite, if или set в той же области видимости. Когда в строке замены появляется знак вопроса, во внутреннем флаге движка скриптов устанавливается значение, которое не сбрасывается. При последующем расчёте длины буфера используется подмодуль, который не учитывает экранирование URI. В результате буфер выделяется под обычные байты, но фактическая запись выполняется на исходном движке с активным флагом экранирования. Символы вроде плюса, процента и амперсанда расширяются на два байта при копировании. Запись выходит за границы выделенного буфера, и злоумышленник может контролировать форму переполнения через содержимое URI.
Специалисты по кибербезопасности отметили, что уязвимость реальна, но удалённое выполнение кода в практических условиях маловероятно. Современные дистрибутивы Linux по умолчанию используют технологию ASLR.
Публичный proof-of-concept работает только после ручного отключения ASLR командой setarch -R. Для эксплуатации нужна специфическая конфигурация NGINX, причём атакующий должен знать или обнаружить эту конфигурацию. Для достижения удалённого выполнения кода также необходимо отключение ASLR на сервере. В опубликованном proof-of-concept механизм специально отключён, развёрнута заведомо уязвимая конфигурация, а эксплойт знает адрес уязвимой конечной точки.