Команда разработчиков nginx выпустила версию 1.30.1, которая закрывает сразу шесть уязвимостей. Одна из них получила статус HIGH по шкале CVSS и позволяет потенциально выполнить произвольный код. Обновление затрагивает как открытую версию (Open Source), так и коммерческий продукт NGINX Plus. Патчи уже доступны для загрузки.
Речь идёт о популярном веб-сервере, прокси-сервере и балансировщике нагрузки, который используют миллионы сайтов. Уязвимости обнаружены в различных модулях, поэтому под ударом оказались самые разные конфигурации. Исследователи Mufeed VH (Winfunc Research), Leo Lin, David Carlier и Rodrigo Laneth сообщили о проблемах и получили благодарности.
Самая опасная уязвимость - выполнение кода через rewrite
Наиболее серьёзной проблемой стала CVE-2026-42945, которая затрагивает модуль преобразования URI (ngx_http_rewrite_module). Злоумышленник может отправить специально сформированный HTTP-запрос, который вызовет переполнение кучи (heap buffer overflow) в рабочем процессе nginx. В системах с отключённой рандомизацией адресного пространства (ASLR - Address Space Layout Randomization) это может привести к выполнению произвольного кода. Даже если ASLR включена, уязвимость способна вызвать аварийное завершение рабочего процесса.
Чтобы эксплуатация стала возможной, конфигурация должна содержать директиву rewrite, после которой идёт другая директива (rewrite, if или set) с безымянным захватом из регулярного выражения (например, $1, $2) и строкой замены, содержащей вопросительный знак. Такая комбинация создаёт аномалию в обработке. По шкале CVSS версии 4.0 уязвимость оценивается в 9,2 балла (CRITICAL), хотя для CVSS 3.1 - 8,1 (HIGH).
HTTP/2 - инъекция данных в запрос при proxy_set_body
Вторая по значимости уязвимость - CVE-2026-42926. Она присутствует в модуле проксирования HTTP/2. Если администратор использует директиву proxy_set_body вместе с указанием версии протокола 2.0 (proxy_http_version 2), атакующий может внедрить в проксируемый запрос произвольные заголовки и данные. Это происходит из-за ошибки кодирования (CWE-172). Возможные последствия - подмена содержимого запроса, обход проверок на внутреннем сервере.
Утечка памяти через SCGI и uWSGI
CVE-2026-42946 представляет опасность для тех, кто использует модули ngx_http_scgi_module и ngx_http_uwsgi_module. Если в конфигурации присутствуют директивы scgi_pass или uwsgi_pass, злоумышленник, контролирующий ответы от внутреннего сервера (MITM - атака "человек посередине"), может заставить nginx прочитать участки памяти сверх допустимого диапазона. Это приводит либо к утечке конфиденциальных данных, либо к аварийному завершению рабочего процесса. Оценка CVSS 4.0 - 8,3 (HIGH).
UTF-8 перекодировка и возможность чтения памяти
CVE-2026-42934 затрагивает модуль кодировок (ngx_http_charset_module). Проблема возникает при одновременном использовании директив charset, source_charset, charset_map и proxy_pass с отключённой буферизацией (proxy_buffering off). Неаутентифицированный злоумышленник может отправить запрос, который вызовет чтение памяти за границами выделенного буфера (heap buffer overread). Последствия - ограниченная утечка памяти или остановка рабочего процесса.
Подмена IP-адреса через QUIC и HTTP/3
CVE-2026-40460 связана с модулем QUIC, который используется для HTTP/3. При миграции соединения новые потоки могут получать адрес клиента без надлежащей проверки. Это позволяет атакующему подменить свой исходный IP-адрес. В результате он может обойти авторизацию, основанную на IP, или лимиты запросов (rate limiting). Уязвимость получила оценку 6,5 по CVSS 3.1 (MEDIUM).
Use-after-free при проверке сертификатов через OCSP
И наконец, CVE-2026-40701 затрагивает модуль SSL (ngx_http_ssl_module). Если в конфигурации указана директива ssl_verify_client со значением "on" или "optional", а также ssl_ocsp включён (ON или настроен резольвер для поиска статуса сертификата), неаутентифицированный злоумышленник может вызвать ошибку "использование после освобождения" (use-after-free) в рабочем процессе. Это приводит к ограниченной модификации данных или перезапуску процесса. Оценка - 4,8 по CVSS 3.1, но в версии 4.0 - 6,3 (MEDIUM).
Когда и кому обновляться?
Все перечисленные уязвимости исправлены в nginx 1.30.1. Разработчики отмечают, что версии, достигшие конца технической поддержки (End of Technical Support), не оценивались - пользователям таких сборок рекомендуется перейти на актуальную ветку. Обновление рекомендуется всем, кто использует nginx в production. Особенно срочно нужно обновить системы, на которых задействован модуль rewrite с директивами, описанными для CVE-2026-42945.
Для снижения риска до установки патча можно временно отключить неиспользуемые модули (например, отключить HTTP/3, если QUIC не нужен, или отказаться от SCGI/uWSGI). Однако наиболее надёжный способ - установка новой версии. Патчи уже опубликованы на официальных репозиториях nginx.org.
Напомним, что nginx - один из самых критичных компонентов инфраструктуры интернета, и любая уязвимость в нём привлекает пристальное внимание злоумышленников. Своевременное обновление - единственный способ защитить серверы от атак, использующих эти бреши.
Ссылки
- https://nginx.org/en/download.html
- https://nginx.org/en/CHANGES-1.30
- https://www.cve.org/CVERecord?id=CVE-2026-42946
- https://www.cve.org/CVERecord?id=CVE-2026-42945
- https://www.cve.org/CVERecord?id=CVE-2026-42934
- https://www.cve.org/CVERecord?id=CVE-2026-42926
- https://www.cve.org/CVERecord?id=CVE-2026-40701
- https://www.cve.org/CVERecord?id=CVE-2026-40460