Обновление nginx 1.31.3 с устранением RCE-уязвимости
Сформирован выпуск основной ветки nginx 1.31.3, в рамках которой продолжается развитие новых возможностей, а также выпуск параллельно поддерживаемой стабильной ветки nginx 1.30.4, в которую вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В обновлениях устранено 3 уязвимости:
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.
Источник: http://www.opennet.ru/opennews/art.shtml? num=65910
© OpenNet
