01.08.2021

Выпуски nginx 1.21.0 и nginx 1.20.1 с устранением уязвимости

Представлен первый выпуск новой основной ветки nginx 1.21.0, в рамках которой будет продолжено развитие новых возможностей. Одновременно подготовлен корректирующий выпуск параллельно поддерживаемой стабильной ветки 1.20.1, в которой вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В следующем году на базе основной ветки 1.21.x будет сформирована стабильная ветка 1.22.

В новых версиях устранена уязвимость
(CVE-2021-23017) в коде для разрешения имён хостов в DNS, которая может привести к краху или потенциально к выполнению кода атакующего. Проблема проявляется обработке определённых ответов DNS-сервера, приводящих к однобайтовому переполнению буфера. Уязвимость проявляется только при включении в настройках DNS-резолвера при помощи директивы «resolver«. Для совершения атаки злоумышленник должен иметь возможность подделать UDP-пакеты от DNS-сервера или получить контроль над DNS-сервером. Уязвимость проявляется начиная с выпуска nginx 0.6.18. Для устранения проблемы в старых выпусках можно использовать патч.

Изменения в nginx 1.21.0, не связанные с безопасностью:

  • В директивах «proxy_ssl_certificate», «proxy_ssl_certificate_key» «grpc_ssl_certificate», «grpc_ssl_certificate_key», «uwsgi_ssl_certificate» и «uwsgi_ssl_certificate_key» добавлена поддержка переменных.
  • В почтовый прокси-модуль добавлена поддержка «pipelining» для передачи нескольких запросов POP3 или IMAP в одном соединении, а также добавлена новая директива «max_errors», определяющая максимальное число ошибок протокола, после которых соединение будет закрыто.
  • В модуль stream добавлен параметр «fastopen», включающий режим «TCP Fast Open» для слушающих сокетов.
  • Решены проблемы с экранированием спецсимволов при автоматическом редиректе с добавлением в конец слэша.
  • Решена проблема с закрытием соединений с клиентами при использовании SMTP pipelining.

Источник.