14 октября 2026 года вышел nginx 1.31.7. В mainline-версии устранены пять уязвимостей, включая переполнение буфера, обход ограничения размера запроса в HTTP/3 и ошибку ротации ключей TLS. Также добавлены новые возможности для GeoIP, SSL и QUIC и исправлены ошибки.
Исправления безопасности
- При использовании директивы
aliasв рабочем процессе могло произойти переполнение буфера, если URI запроса был изменён директивойrewrite, а затем сопоставлен с путём к файлу (CVE-2026-15176). - Переполнение буфера могло произойти при вычислении строковых выражений с переменными. Ошибка затрагивала определение корневого каталога документов и журналирование запросов в модулях HTTP и Stream (CVE-2026-93479).
- При использовании HTTP/3 часть неизвестного фрейма могла быть ошибочно принята за тело запроса. Это позволяло обойти ограничение
client_max_body_sizeили внедрить данные в проксируемый запрос (CVE-2026-95101). - При ротации ключей билетов TLS-сессий один из ключей оставался неинициализированным, что могло позволить подделать сессию (CVE-2026-97629).
- При асинхронном файловом вводе-выводе (AIO) в некоторых конфигурациях могла возникнуть ошибка use-after-free, если SSI-страница содержала команды
include virtual(CVE-2026-97205).
Новые возможности
- Модули
ngx_http_geoip_moduleиngx_stream_geoip_moduleтеперь поддерживают базы данных в формате MaxMind DB (MMDB). - SSL-сертификаты backend-серверов теперь можно проверять по IP-адресу.
- QUIC теперь поддерживает повторное чтение конфигурации и бинарное обновление при использовании директивы
quic_bpf.
Изменения
Модуль ngx_http_v2_module перешёл на схему приоритизации из RFC 9218. Сигналы приоритета из RFC 7540 теперь игнорируются.
Исправления ошибок
- В рабочем процессе мог произойти segmentation fault либо в журнале могли появиться сообщения
request count is zero, если заголовокX-Accel-Redirectбыл закэширован, а затем сохранённый в кэше ответ отправлялся клиенту. - Устранён segmentation fault в рабочем процессе при обработке методов
COPYиMOVEмодулемngx_http_dav_moduleв блокеlocationс директивойalias. - QUIC-соединения могли закрываться с сообщением
quic flood detected, если директивеhttp3_stream_buffer_sizeбыло задано небольшое значение. Ошибка появилась в nginx 1.27.5. - Закрытие SSL-соединения без
close_notify, в том числе при сбросе соединения, ошибочно считалось корректным завершением. Теперь в таких случаях в журнале появляется ошибкаSSL_read() failed. - При ошибке чтения из SSL-соединения в журнале могли появляться сообщения
[crit] SSL_write() failed.
Источник: список изменений nginx.