Уязвимости NGINX затронули пять компонентов и сценариев конфигурации, от обработки URI до TLS-сессий и HTTP/3. 14 октября команда NGINX выпустила версии 1.30.6 и 1.31.7: три ошибки в памяти потенциально позволяют выполнить код в процессе worker, а ещё одна в отдельных условиях способна обойти проверку клиентского сертификата — неприятная новость для компаний, использующих mTLS между сервисами.
Все пять проблем получили оценку Medium от NGINX, однако F5 оценила три ошибки работы с памятью в 9,2 балла по CVSS v4.0 — Critical. По данным The Hacker News, на 15 октября подтверждённых атак не было, а CVE не попали в каталог CISA Known Exploited Vulnerabilities. Это не повод откладывать обновление: часть уязвимых директив встречается в типовых production-конфигах, а условия эксплуатации стоит проверить до ближайшего окна изменений.
Самая чувствительная проблема для инфраструктуры с взаимной TLS-аутентификацией — CVE-2026-97629. Она затрагивает версии с 1.23.2 по 1.31.6 и возникает при общей кэширующей зоне TLS-сессий, например ssl_session_cache shared:SSL:10m, если ключи session ticket не загружаются из файла. NGINX автоматически создаёт и ротирует такие ключи, но при ротации один из трёх слотов мог остаться с неинициализированными данными. Теоретически это позволяет подделать TLS-сессию и пройти проверку клиентского сертификата.
F5 отдельно подчёркивает: подделка носит недетерминированный характер и не полностью контролируется атакующим. Но именно здесь и прячется эксплуатационный риск. Общий кэш сессий — не экзотическая оптимизация, а настройка, которую документация NGINX показывает в своих примерах. До обновления временной защитой станет отказ от shared cache, отключение session tickets либо явная загрузка ключей через ssl_session_ticket_key.
Где искать уязвимые настройки
Три CVE связаны с памятью worker-процессов. CVE-2026-15176 присутствует практически во всей истории NGINX — от 0.1.29 до 1.31.6. Для её срабатывания в одном location должны совпасть alias, rewrite, меняющий URI, и обращение к переменной $request_filename: например, в return, set, if, add_header или формате access log. При определённом соотношении длины префикса location и переписанного URI возникает переполнение буфера. Результат — падение worker или, по оценке F5, потенциальное выполнение кода.
CVE-2026-93479 касается регулярных выражений в map. Под ударом версии 1.30.0–1.30.5 и 1.31.2–1.31.6, если захваты из regex map используются в root или log_format раньше, чем вычислена выходная переменная map. Эта ошибка выросла из июльского исправления CVE-2026-42533: защита от выхода за границы буфера оказалась неполной, а последующая обработка могла создать строку больше выделенного для неё буфера. В июле исследователь Stan Shaw уже предупреждал, что переход на именованные захваты не закрывает все пути атаки; полноценным решением остаётся установка патча.
Третья критичная по CVSS проблема, CVE-2026-97205, затрагивает конфигурации с включённым aio и SSI-страницами, использующими include virtual. Счётчик асинхронных операций хранится в восьмибитном поле. Если параллельных операций набирается 256, он переполняется, запрос может быть освобождён раньше завершения операций, которые всё ещё обращаются к его памяти. F5 рекомендует до обновления отключить AIO или не обслуживать SSI-страницы.
Отдельно стоит проверить HTTP/3. CVE-2026-95101 затрагивает NGINX 1.25.0–1.31.6 при HTTP/3 и включённом proxy_request_buffering, а это значение используется по умолчанию. При разборе неизвестного HTTP/3-фрейма, разбитого на два чтения, лишние байты могут попасть в проксируемый запрос как тело. Они проходят мимо ограничения client_max_body_size. Временно F5 советует задать proxy_request_buffering off; при этом командам нужно оценить влияние на нагрузку и поведение upstream-сервисов, а не бездумно раскатывать настройку на весь периметр.
Что делать администраторам и командам разработки
Приоритетный маршрут простой: обновиться до 1.30.6 на stable-ветке либо до 1.31.7 на mainline. Старые ветки, включая 1.28, сами по себе не перестают быть затронутыми — безопасным будет только пакет дистрибутива с бэкпортированными патчами. Пользователям NGINX Plus, F5 Ingress Controller, Gateway Fabric, Instance Manager и WAF стоит сверить конкретную сборку с бюллетенями F5: для ряда продуктов на дату публикации готовой исправленной версии ещё не было.
Для первичной инвентаризации достаточно вывести активную конфигурацию командой nginx -T и проверить сочетания alias с rewrite, regex map с root или log_format, aio с SSI, строки listen с QUIC, а также shared TLS cache без ssl_session_ticket_key. Важно искать именно комбинации: ни одна из пяти уязвимостей NGINX не срабатывает на конфигурации по умолчанию без дополнительной директивы. Но «специальная конфигурация» не равна «редкая»: HTTP/3, проксирование, логирование и TLS-кэш давно стали обычной частью высоконагруженных сервисов.
Этот релиз — уже восьмой security-выпуск NGINX в 2026 году. После майской ошибки rewrite-модуля CVE-2026-42945, которую, по данным VulnCheck, начали эксплуатировать через несколько дней после раскрытия, разумнее относиться к таким обновлениям как к задаче эксплуатации с измеримым SLA. Главный вопрос теперь не в том, есть ли в конфиге одна подозрительная директива, а в том, успеет ли команда сопоставить все опасные сочетания и обновить фронтенды до появления первого публичного эксплойта. Подробности релиза собраны в .