Представен е първият выпуск на новата основна версия nginx 1.21.0, в рамките на която ще продължи развитието на нови възможности. В същото време е подготвен коригиращ выпуск на паралелно поддържаната стабилна версия 1.20.1, в която се извършват само промени, свързани с отстраняването на сериозни грешки и уязвимости. През следващата година на база основната версия 1.21.x ще бъде формирана стабилна версия 1.22.
В новите версии е отстранена уязвимост (CVE-2021-23017) в кода за разрешаване на имена на хостове в DNS, която може да доведе до срив или потенциално до изпълнение на код от страна на нападателя. Проблемът се проявява при обработката на определени отговори от DNS-сервера, водещи до еднобайтово преливане на буфера. Уязвимостта се проявява само при включване на настройките на DNS-резолвера с директивата „resolver“. За да се извърши атака, нападателят трябва да има възможност да подправи UDP пакети от DNS-сервера или да получи контрол над DNS-сервера. Уязвимостта се проявява от версия 0.6.18 на nginx. За отстраняване на проблема в старите версии може да се използва пач.
Промени в 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
