Нова верзија на nginx 1.27.0 со елиминација на 4 пропусти во имплементацијата на HTTP/3

Претставено е првото издание на новата главна гранка на nginx 1.27.0, во чии рамки ќе продолжи развојот на нови функции. Во исто време, беше објавен и nginx 1.26.1, кој припаѓа на паралелно поддржана стабилна гранка, која вклучува само промени поврзани со елиминирање на сериозни грешки и пропусти. Следната година, врз основа на главната гранка 1.27.x, ќе се формира стабилна гранка 1.28. Кодот на проектот е напишан во C и се дистрибуира под лиценцата BSD.

Новите изданија поправаат 4 пропусти кои влијаат на експерименталниот ngx_http_v3 модул (оневозможен стандардно), кој обезбедува поддршка за протоколот HTTP/3 користејќи го протоколот QUIC како транспорт за HTTP/2. Проблемите се појавуваат само кога модулот ngx_http_v3_module е активиран и опцијата „quic“ е поставена во директивата „слушање“. Сè уште нема информации за ранливоста на вилушките Angie и FreeNginx.

Ранливоста CVE-2024-34161 предизвикува истекување на меморијата на работниот процес на системи со вредност на MTU поголема од 4096 бајти. Протекување на меморијата се случува кога CRYPTO рамки кои се користат во преговорите за поврзување се испраќаат откако клиентот ќе ја испрати пораката за финализирање.

Пропустите за оштетување на меморијата CVE-2024-31079, CVE-2024-32760 и CVE-2024-35200 му дозволуваат на далечинскиот напаѓач да го урне работниот процес на nginx преку воспоставување специјално изработена сесија врз основа на протоколот QUIC. Во исто време, за пропустите CVE-2024-31079 и CVE-2024-32760, не може да се исклучат другите последици од нападот (потенцијалната можност за извршување на кодот на напаѓачот?). Детали не се дадени, но судејќи според корекциите во кодот, ранливостите се предизвикани од пристап до веќе ослободена меморија (користење-по-слободно), неправилна распределба на меморија за низа, дереференција на нула покажувач и недостаток на соодветна проверка на големината на податоци сместени во баферот.

Меѓу промените што не се поврзани со елиминација на ранливости во nginx 1.27.0:

  • Поддршката за одредување променливи е додадена во директивите „proxy_limit_rate“, „fastcgi_limit_rate“, „scgi_limit_rate“ и „uwsgi_limit_rate“.
  • Намалена потрошувачка на меморија при обработка на долготрајни барања во конфигурации што ги користат директивите „gzip“, „gunzip“, „ssi“, „sub_filter“ или „grpc_pass“.
  • Решени се проблемите со ресетирање во GCC 14 при користење на опцијата „--with-atomic“.
  • Поправени се грешките во имплементацијата на HTTP/3.

Дополнително, можеме да го забележиме објавувањето на новата главна гранка на FreeNginx 1.27.0, вилушка на Nginx развиена од Максим Данин, еден од клучните развивачи на Nginx. FreeNginx е позициониран како непрофитен проект кој обезбедува развој на базата на кодови Nginx без корпоративно мешање. Новата верзија го подобри справувањето со грешките при читање на телото на барањето, подобрено склопување во NetBSD 10.0 и подобрено пишување на PID-датотеки (параметарот „исклучено“ е додаден во директивата „pid“).

Извор: opennet.ru

Додадете коментар