ИИ нашёл в NGINX критическую уязвимость, которой 18 лет

WS
На сайте с 01.11.2008
Offline
167
174

Всем, кто использует реврайты в nginx, посвящается:

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

Проблема получила идентификатор CVE-2026-42945 и оценку 9,2 по шкале CVSS v4. Команда depthfirst назвала уязвимость NGINX Rift. Ошибка связана с переполнением буфера в куче в модуле ngx_http_rewrite_module. Для атаки нужен специально сформированный HTTP-запрос и определённое сочетание настроек: директивы rewrite, if или set, безымянные захваты PCRE вроде $1 или $2 и строка замены со знаком вопроса.

По данным depthfirst, уязвимый код появился в NGINX ещё в 2008 году и дошёл до версий 1.30.0 включительно. Команда отдельно взялась за CVE-2026-42945 из-за редкого сочетания высокой опасности и долгой жизни ошибки в проекте, через который проходит огромный объём веб-трафика. Проблема пережила множество релизов, новые серверные конфигурации и годы активного использования модуля rewrite.

По данным F5, сбой происходит в рабочем процессе NGINX. При включённой рандомизации адресного пространства атака чаще приводит к перезапуску процесса и отказу в обслуживании. Если ASLR отключён, риск становится выше — злоумышленник может добиться удалённого выполнения кода.

Статья на хабре: https://habr.com/ru/news/1035414/

Под угрозой оказались версии от 0.6.27 до 1.30.0

Если быстро обновиться невозможно, F5 советует для защиты от CVE-2026-42945 изменить правила rewrite и заменить безымянные захваты на именованные во всех затронутых директивах.

Например, следующая директива перезаписи использует безымянные группы захвата PCRE, $1 и $2:

rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;

Именованные захваты $user_id и $section:

rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;



LEOnidUKG
На сайте с 25.11.2006
Offline
1781
#1
WebStorm :
Всем, кто использует реврайты в nginx, посвящается:

Никому это не посвящается. Это баг в вакууме. Для полноты картины на том же хабре почитайте комментарии. Нереально исполнить в продакшине этот баг. 

Так же он слишком явный, чтобы его 18 лет хакеры не замечали. 

Выключенный ASLR и root аккаунт дочерних потоков nginx? Я такого не встречал ещё.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
WS
На сайте с 01.11.2008
Offline
167
#2
LEOnidUKG #:

Выключенный ASLR и root аккаунт дочерних потоков nginx? Я такого не встречал ещё.

если по делу нечего сказать - проходите мимо, не нужен никакой root аккаунт для нанесения вреда

По данным F5, сбой происходит в рабочем процессе NGINX. При включённой рандомизации адресного пространства атака чаще приводит к перезапуску процесса и отказу в обслуживании. Если ASLR отключён, риск становится выше — злоумышленник может добиться удалённого выполнения кода.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий