> Список всех страниц есть в [llms.txt](https://kupivps.com/llms.txt). Эта страница на сайте: https://kupivps.com/news/uyazvimost-v-nginx-perepolnenie-bufera-v-module-rewrite-cve-2026-42945

# Уязвимость в nginx (CVE-2026-42945): переполнение буфера в модуле rewrite

В nginx выявлена критическая уязвимость CVE-2026-42945 в модуле rewrite. Специально сформированные запросы могут вызвать переполнение буфера и перезапуск процессов, а при отключённом ASLR — удалённое выполнение кода.

_Безопасность · 26 октября 2026 · severity: high · CVE-2026-42945_

## Что случилось

В веб-сервере nginx выявлена опасная уязвимость CVE-2026-42945 в модуле `ngx_http_rewrite_module`. Она проявляется при строго определённой комбинации директив в конфигурационном файле: когда директива `rewrite` используется вместе с `if`, `set` или ещё одним `rewrite`, а в строке замены присутствуют безымянные группы захвата регулярных выражений PCRE — например, `$1` или `$2` — в сочетании со знаком вопроса `?`.
Удалённый неаутентифицированный атакующий может отправить специально сформированный HTTP-запрос и спровоцировать переполнение буфера в куче рабочего процесса nginx. В типичном сценарии это приводит к аварийному завершению процесса и его автоматическому перезапуску. При этом на системах с отключённой рандомизацией адресного пространства (ASLR) или при условии её успешного обхода существует теоретическая возможность удалённого выполнения произвольного кода.

## Кого касается

Проблема затрагивает всех владельцев серверов, где работает NGINX Open Source или NGINX Plus с активным модулем rewrite и описанной выше конструкцией в конфигурации. Наибольший риск у сайтов со сложными правилами маршрутизации и перезаписи URL, где в строке подстановки совмещаются переменные вида `$1`, `$2` и символ `?`. Следует учитывать, что версии nginx, достигшие статуса End of Technical Support (EoTS), больше не получают обновлений безопасности и остаются уязвимыми.

## Что делать

- **Обновите пакет.** Основное решение — установить актуальную версию nginx через стандартный пакетный менеджер. Для Debian и Ubuntu выполните `apt update && apt upgrade nginx`; для дистрибутивов на базе RHEL — `dnf update nginx` или `yum update nginx`.
- **Проверьте версию.** После обновления убедитесь, что используется пропатченный релиз, с помощью команды `nginx -v`. Сверьтесь с официальным бюллетенем безопасности, чтобы версия входила в число исправленных.
- **Временный обходной путь.** Если обновление невозможно прямо сейчас, внимательно проверьте конфигурационные файлы в каталоге `/etc/nginx/`. Найдите цепочки директив, где `rewrite` сочетается с `if` или `set`, применяются группы захвата `$1`/`$2` и в строке замены есть `?`. По возможности измените логику: уберите вопросительный знак из подстановки, разделите правило на несколько простых директив или замените безымянные группы на именованные, которые данной уязвимости не подвержены.
- **Включите ASLR.** Проверьте статус рандомизации адресного пространства командой `cat /proc/sys/kernel/randomize_va_space`. Значение должно быть `1` или `2`. Это не закрывает саму уязвимость, но значительно усложняет эксплуатацию вплоть до выполнения кода.
- **Перезапустите службу.** После установки обновления или правки конфигурации проверьте корректность конфигурации командой `nginx -t`, затем примените изменения командой `systemctl restart nginx`. Проверьте статус: `systemctl status nginx`.

Источник: https://nvd.nist.gov/vuln/detail/CVE-2026-42945
