Актуализации на nginx 1.26.3 и 1.27.4 с отстраняване на уязвимост, свързана с TLS

Съставен е выпуск на основната версия nginx 1.27.4, в рамките на който продължава развитието на нови възможности, както и е издадена паралелно поддържаната стабилна версия nginx 1.26.3, в която се внасят единствено промени, свързани с отстраняването на сериозни грешки и уязвимости. В актуализациите е отстранена уязвимост (CVE-2025-23419), която позволява заобикалянето на проверката на клиентските TLS сертификати.

Уязвимостта е причинена от липса на подходящи проверки при обработката на виртуални хостове, привързани към един IP адрес и порт, и избирани при достъп по HTTPS на базата на домейновото име, посочено чрез TLS разширение SNI. В подобни конфигурации нападателят е могъл да повторно използва TLS сесия в контекста на друг виртуален хост, за да заобиколи автентикацията по клиентски TLS сертификат. Проблемът се проявява в конфигурации, които поддържат възобновяване на TLS сесии чрез „TLS session ticket“ или използват кеш на TLS сесии в настройките по подразбиране, в които е активирана автентикацията по клиентски TLS сертификати. сървър Уязвимостта присъства от издаването на nginx 1.11.4 при компилация с OpenSSL и включване на протокола TLSv1.3.

Некоректни изменения, несвързани с безопасността:

  • Добавени са възможности за намаляване на потреблението на ресурси и намаляване на натоварването на CPU при използване на TLS в конфигурации с голям брой блокове server и location. Добавените промени позволяват вместо създаването на отделен SSL контекст (SSL_CTX в OpenSSL) за всеки блок конфигурация, да се използва вече съществуващият SSL контекст от родителския блок.
  • Решени са проблеми с дългото зареждане на конфигурационни файлове поради повторното разглеждане на един и същи набор на TLS сертификати, ключове и списъци на удостоверяващи центрове. Ускорено е нулирането на конфигурацията чрез повторно използване на неизменените TLS обекти, като сертификати, ключове и CRL. За деактивиране на наследяването на обекти при обновяване на конфигурацията е добавена директива „ssl_object_cache_inheritable“.
  • Добавено е кеширане за сертификати и ключове, заредени с използване на променливи в директивите (например, „ssl_certificate /etc/ssl/$ssl_server_name.crt“). За управление на кеша са добавени директиви „ssl_certificate_cache“, „proxy_ssl_certificate_cache“, „grpc_ssl_certificate_cache“ и „uwsgi_ssl_certificate_cache“. Чрез посочените директиви може да се настрои максималният размер на кеша, времето на живот на записите и времето за почистване на неизползваемите записи. Например: „ssl_certificate_cache max=1000 inactive=20s valid=1m;“.
  • Добавена е директива «keepalive_min_timeout», която определя времето за изчакване, в което nginx не ще закрива keep-alive връзката с клиента.
  • Решен е проблемът с появата на съобщения в логовете „gzip filter failed to use preallocated memory“ при компилация с библиотеката zlib-ng.
  • Решен е проблемът със събирането на библиотеката libatomic при използване на опцията за компилация „—with-libatomic=DIR“
  • Отстранена е грешка, която е водила до невъзможност за установяване на връзка по протокола QUIC при използване на 0-RTT.
  • Обезпечено е игнориране на заявки за съгласуване на версии QUIC, постъпили от клиенти.
  • Решени са проблемите с компилацията в Solaris 10 с модула ngx_http_v3_module.
  • Корекции на грешките в реализацията на HTTP/3.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster