Представен първият выпуск на новото основно издание 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.
Източник: opennet.ru
