Перейти к основному контенту

Уязвимость NGINX Rift (CVE-2026-42945)

intro_uyazvimost_nginx_rift_cve_2026_42945_planetahost.png

Информация об уязвимости
Дата публикации 15 мая 2026
CVE CVE-2026-42945
Продукт NGINX Open Source / NGINX Plus
Название NGINX Rift
Тип уязвимости Heap Buffer Overflow
Уровень опасности Высокий
Вектор атаки Удалённо через HTTP-запросы
Требуется аутентификация Нет
Уязвимые версии NGINX 0.6.27 — 1.30.0
Исправлено в NGINX 1.30.1 / 1.31.0

Введение

В веб-сервере NGINX обнаружена критическая уязвимость CVE-2026-42945, получившая название NGINX Rift. Проблема существует в кодовой базе проекта с 2008 года и затрагивает rewrite-модуль ngx_http_rewrite_module.

Уязвимость позволяет удалённому неаутентифицированному злоумышленнику вызвать переполнение heap-буфера, что может привести к аварийному завершению worker-процессов или выполнению произвольного кода на сервере.


Что произошло

Проблема связана с обработкой rewrite-правил, использующих PCRE regex capture-группы ($1, $2 и т.д.) совместно с replacement-строками, содержащими символ ?.

При определённой комбинации rewrite-конфигурации и специально сформированного HTTP-запроса возникает ошибка вычисления размера памяти во внутреннем script engine NGINX, что приводит к heap buffer overflow в worker-процессе.

Исследователи отмечают, что уязвимость находилась в проекте около 18 лет и затрагивает практически все современные версии NGINX Open Source и NGINX Plus.


Особенности эксплуатации

Для эксплуатации злоумышленнику достаточно отправить специально сформированный HTTP-запрос к серверу с уязвимой rewrite-конфигурацией.

Уязвимыми считаются конфигурации вида:

rewrite ^/user/(.*)$ /profile.php?id=$1? last;

Особенно опасны rewrite-правила, использующие:

$1
$2

совместно с символом:

?

в replacement-строке.

При успешной эксплуатации возможно:

  • аварийное завершение worker-процессов;
  • циклический restart workers (DoS);
  • повреждение heap-памяти;
  • удалённое выполнение кода (RCE) при отключённом ASLR.

Также в сети уже появились публичные PoC-эксплойты и технические writeup-материалы по эксплуатации уязвимости.


Решение

Уязвимость исправлена в версиях NGINX 1.30.1 и 1.31.0.

Рекомендуемые действия:

  • немедленно обновить NGINX до исправленной версии;
  • проверить rewrite-правила на использование unnamed PCRE captures;
  • заменить $1, $2 и аналогичные конструкции на named captures;
  • убедиться, что на сервере включён ASLR;
  • мониторить crash/restart worker-процессов;
  • ограничить публичный доступ к административным endpoint.

Дополнительно

По информации исследователей, проблема была обнаружена системой автоматизированного анализа безопасности компании depthfirst и раскрыта совместно с F5 в рамках coordinated disclosure.

В сообществе администраторов и security-специалистов уязвимость уже получила широкий резонанс из-за огромного количества интернет-сервисов, использующих NGINX в качестве reverse proxy, ingress controller или frontend-сервера.