Вышел nginx 1.31.0. Закрыто шесть уязвимостей, некоторые из них позволяли выполнить произвольный код или раскрыть содержимое памяти рабочего процесса.
Помимо фиксов, появилась долгожданная фича — поддержка HTTP CONNECT, то есть nginx теперь умеет работать как forward proxy.
Что исправлено
CVE-2026-42926 — инъекция данных в проксируемый запрос при использовании
proxy_set_body с HTTP/2-бэкендом.CVE-2026-42945 — переполнение буфера в
ngx_http_rewrite_module. Специально сформированный запрос мог привести к выполнению произвольного кода. Одна из самых серьёзных уязвимостей в этом релизе.CVE-2026-42946 — чтение за границами буфера в
ngx_http_scgi_module и ngx_http_uwsgi_module. Атакующий мог вызвать раскрытие памяти рабочего процесса или его падение через специально сформированный ответ.CVE-2026-42934 — аналогичная проблема с чтением за границами буфера, но уже в
ngx_http_charset_module при декодировании UTF-8 через директиву charset_map.CVE-2026-40460 — спуфинг адреса клиента в HTTP/3. При миграции соединения новые QUIC-стримы получали новый адрес клиента до его валидации.
CVE-2026-40701 — use-after-free при обработке DNS-ответов, если использовалась директива
ssl_ocsp. Могло привести к повреждению памяти или падению рабочего процесса.Что нового
Главное нововведение — модуль
ngx_http_tunnel_module. Nginx теперь умеет обрабатывать HTTP CONNECT-запросы и работать как forward proxy. Модуль поддерживает аутентификацию через auth_basic, satisfy и auth_delay.Также добавлена директива
least_time внутри блока upstream. Она выбирает бэкенд с наименьшим временем ответа. Раньше эта функциональность была доступна только в NGINX Plus.В stream-модуле появилась директива
proxy_ssl_alpn для указания ALPN-протокола при проксировании с TLS.Изменения в поведении
nginx теперь отклоняет HTTP/2 и HTTP/3 запросы с заголовками
Connection, Proxy-Connection, Keep-Alive, Transfer-Encoding, Upgrade, а также TE с любым значением кроме trailers. Это соответствует спецификации, но если у вас есть клиенты, которые отправляют такие заголовки через HTTP/2, после обновления они получат ошибку.Модуль
ngx_http_dav_module теперь отклоняет COPY/MOVE, если источник и назначение совпадают или находятся в отношении «родитель-ребёнок».Уровень логирования ошибок SSL «invalid alert» и «record layer failure» понижен с
crit до info.Обновление
Учитывая количество и критичность закрытых уязвимостей, обновляться стоит как можно скорее. Особенно если вы используете
proxy_set_body, модуль rewrite, SCGI/uWSGI-бэкенды или HTTP/3.➡️ Полный список изменений
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
