
15 июля 2026 года состоялся выпуск высокопроизводительного HTTP‑сервера и многопротокольного прокси‑сервера nginx 1.31.3. Исходный код проекта nginx написан на языке C и распространяется под лицензией BSD. Проект nginx 1.28.0 вышел в апреле 2025 года. Выпуск nginx 1.29 случился в июне 2025 года. Версия nginx 1.30 вышла в апреле 2026 года. Выпуск nginx 1.31 произошёл в мае 2026 года.
Также разработчики проекта представили выпуск параллельно поддерживаемой стабильной ветки nginx 1.30.4, в которую вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей.
В обновлениях проекта устранены три критические уязвимости:
-
CVE-2026-42533 — переполнение буфера, проявляющееся при использовании в директиве «map» проверок через регулярные выражения с подстановками при помощи неименованных (например, $1 и $2) или именованных переменных, при условии, что данные переменные упомянуты до переменной результата map или использована переменная, которая не кэшируется. Потенциально уязвимость может привести к удалённому выполнению кода на сервере через отправку специально оформленного HTTP-запроса. Проблеме присвоен критический уровень опасности (9.2 из 10);
-
CVE-2026-60005 — утечка неинициализированной памяти рабочего процесса при использовании модуля ngx_http_slice_module и указания в директиве slice регулярных выражений с подстановками при помощи неименованных переменных. Уязвимости присвоен уровень опасности 8.8 из 10;
-
CVE-2026-56434 — обращение к памяти после её освобождения в модуле ngx_http_ssi_module, возникающее при обработке специально оформленного ответа, возвращённого проксированным бэкендом. Уязвимость может привести к изменению содержимого памяти рабочего процесса. Проблеме присвоен уровень опасности 8.3 из 10.
Не связанные с уязвимостями изменения:
-
в модуле ngx_http_xslt_filter_module отключена загрузка переменных в XML-документе, значения которых загружаются из внешних источников. Добавлена директива «xml_external_entities» для управления загрузкой внешних компонентов, указанных в блоке DTD обрабатываемого XML-документа;
-
добавлены директивы «proxy_socket_sndbuf», «proxy_socket_rcvbuf», «fastcgi_socket_sndbuf», «fastcgi_socket_rcvbuf», «grpc_socket_sndbuf», «grpc_socket_rcvbuf», «scgi_socket_sndbuf», «scgi_socket_rcvbuf», «uwsgi_socket_sndbuf», «uwsgi_socket_rcvbuf», «tunnel_socket_sndbuf» и «tunnel_socket_rcvbuf» для выставления размера буферов отправки (SO_SNDBUF) и приёма (SO_RCVBUF);
-
для архитектуры LoongArch64 реализовано определение размера блока (cache line), используемого для передачи данных между кэшем CPU и памятью;
-
в модулях ngx_http_proxy_v2_module и ngx_http_grpc_module реализовано ограничение размера заголовков и трейлеров в ответах HTTP/2 при помощи директив proxy_buffer_size и grpc_buffer_size.
Источник: habr.com