27.05.2026
F5 раскрыла уязвимость переполнения кучи в ngx_http_rewrite_module, получившую неофициальное имя nginx-poolslip. Эксплуатация возможна удалённо и без аутентификации через специально подготовленные HTTP-запросы и приводит к падению воркер-процесса, а при отключённом ASLR — потенциально к выполнению кода. Исправления выпущены в NGINX Open Source 1.31.1 и 1.30.2.
F5 опубликовала advisory по уязвимости CVE-2026-9256 в модуле ngx_http_rewrite_module веб-сервера NGINX. Согласно официальному списку уязвимостей nginx, проблема затрагивает NGINX Open Source версий с 0.1.17 по 1.31.0 включительно; не подвержены ветки 1.31.1+ и 1.30.2+. Сам производитель оценивает серьёзность как medium, тогда как обнаружившая проблему компания CyCognito приводит более высокие оценки — CVSS v3.1 8.1 и CVSS v4.0 9.2.
Уязвимость проявляется в директивах rewrite, использующих регулярное выражение с перекрывающимися безымянными PCRE-группами захвата (например, ^/((.*))$) и строку замены с несколькими ссылками на эти группы (например, $1$2) в контексте redirect или arguments. При таком сочетании NGINX недооценивает длину результата после URI-экранирования, что приводит к записи за границы пула памяти воркера.
Атака не требует учётных данных, взаимодействия с пользователем или закрепления в системе: достаточно отправить специально сформированные HTTP-запросы по обычному HTTP. Основной наблюдаемый эффект — отказ в обслуживании из-за повторных аварийных завершений воркер-процессов. На системах с отключённой ASLR или при возможности её обхода тот же примитив, по описанию исследователей, потенциально позволяет добиться выполнения кода в контексте воркер-процесса. F5 уточняет, что затронут только data plane, control plane не подвержен.
CVE-2026-9256 — отдельная уязвимость от CVE-2026-42945, ещё одного переполнения кучи в том же модуле, раскрытого девятью днями ранее. Версии 1.31.0 и 1.30.1, выпущенные для устранения CVE-2026-42945, по-прежнему уязвимы к CVE-2026-9256, поэтому администраторам, выполнившим предыдущее экстренное обновление, требуется повторный апгрейд. Ветка 0.x признана End of Life и исправлений не получит.
NGINX Plus затронут в выпусках с R32 по R36 и в ветке 37.x; F5 рекомендует переход на R36 P5 или R32 P7, а пользователям R37 — на R37.0.1.1. Уязвимость наследуют и продукты, встраивающие соответствующий код: NGINX Ingress Controller, NGINX App Protect, NGINX Gateway Fabric, NGINX Instance Manager и F5 WAF for NGINX, патчи для них выпускаются отдельными графиками. Продукты F5 BIG-IP, BIG-IQ, F5OS и F5 Distributed Cloud Services, по заявлению вендора, не затронуты. Отдельный риск — архивированный репозиторий kubernetes/ingress-nginx, поставляющий NGINX 1.27.1: восходящий патч для этой сборки не выйдет, и кластерам, всё ещё использующим этот ingress-контроллер, рекомендуется миграция.
Технические подробности и индикаторы конфигураций приведены в сообщении в рассылке oss-security и в разборе CyCognito. Администраторам рекомендуется проверить версию именно работающего бинарника, а не только установленного пакета, и при отсутствии возможности немедленного обновления — провести аудит правил rewrite на предмет перекрывающихся групп захвата и множественных ссылок вида $1$2 в контекстах redirect и arguments.
Источник: nginx.org