nginx 1.31.7 и njs 1.0.2 устранили пять уязвимостей и добавили поддержку MaxMind
Основная ветка nginx 1.31.7, в которой продолжают развиваться новые функции, и стабильная ветка 1.30.6, куда попадают только исправления серьёзных ошибок и уязвимостей, вышли одновременно. Всего в этих версиях устранено пять проблем безопасности. Первая уязвимость CVE-2026-15176 приводит к переполнению буфера.
Она проявляется, когда в конфигурации одновременно используются директива alias и директива rewrite, изменяющая URI запроса, с последующим перенаправлением на файл. Ещё одно переполнение буфера — CVE-2026-93479 — возникает при обработке строковых выражений, содержащих переменные. Проблема может проявиться при вычислении пути к корневому каталогу и при записи логов в модулях http и stream.

Отдельная уязвимость в HTTP/3 позволяет обойти ограничение client_max_body_size. Атакующий может передать некорректные фреймы, часть содержимого которых сервер обработает как тело запроса. В результате в проксируемый запрос подставляются сторонние данные.
Проблема CVE-2026-97629 связана с ротацией сессионных ключей. Один из ключей оставался неинициализированным, что давало возможность подделывать TLS-сеансы. Наконец, CVE-2026-97205 — это обращение к памяти после её освобождения при использовании на SSI-страницах команд include virtual вместе с асинхронным вводом-выводом AIO.
Кроме исправлений безопасности, в основной ветке появились и новые возможности. Модули ngx_http_geoip_module и ngx_stream_geoip_module теперь умеют работать с базами данных в формате MaxMind MMDB. Добавлена проверка по IP-адресу SSL-сертификатов, которые использует бэкенд.
Также реализована возможность переконфигурации и обновления исполняемого файла, если в настройках задана директива quic_bpf. В модуле ngx_http_v2_module внедрена схема расстановки приоритетов, соответствующая спецификации RFC 9218. Это должно улучшить распределение ресурсов при обслуживании HTTP/2-соединений.
Одновременно вышел njs 1.0.2 — модуль, позволяющий использовать JavaScript в конфигурации nginx для расширения логики обработки запросов. В новой версии закрыты две уязвимости: исчерпание памяти при разборе некорректных XML-данных (CVE-2026-101025) и обход проверки подписанного XML-документа через манипуляции с атрибутами (CVE-2026-101019). В njs также добавлены методы XMLNode.getAttributeNS() и XMLNode.getChildNS() и сокращено потребление памяти при компиляции.
Код проекта написан на Си и распространяется под лицензией BSD.