Bylo vydáno první vydání nové hlavní větve nginx 1.27.0, v rámci které bude pokračovat vývoj nových funkcí. Současně byla vytvořena verze nginx 1.26.1, patřící ke stabilní větvi, která je paralelně podporována a do které se zavádějí pouze změny související s odstraněním vážných chyb a zranitelností. V následujícím roce bude na základě hlavní větve 1.27.x vytvořena stabilní větev 1.28. Kód projektu je napsán v jazyce C a je distribuován pod licencí BSD.
V nových vydáních bylo odstraněno 4 zranitelností, které se týkají experimentálního modulu ngx_http_v3 (ve výchozím nastavení vypnutého), který poskytuje podporu pro protokol HTTP/3 využívající protokol QUIC jako transport pro HTTP/2. Problémy se objevují pouze při aktivaci modulu ngx_http_v3_module a nastavení volby „quic“ v direktivě „listen“. O zranitelnosti forkovaných verzí Angie a FreeNginx zatím nejsou žádné informace.
Zranitelnost CVE-2024-34161 vede k úniku obsahu paměti pracovního procesu na systémech s MTU nastaveným na více než 4096 bajtů. Únik obsahu paměti nastává při odesílání rámců CRYPTO, které se používají při vyjednávání spojení, v době po odeslání finální zprávy klientem.
Zranitelnosti CVE-2024-31079, CVE-2024-32760 a CVE-2024-35200 jsou způsobeny poškozením paměti a umožňují vzdálenému útočníkovi způsobit havárii pracovního procesu nginx prostřednictvím nastavení speciálně upravené relace založené na protokolu QUIC. U zranitelností CVE-2024-31079 a CVE-2024-32760 nejsou vyloučeny ani další následky útoku (potenciální možnost vykonání kódu útočníka?). Podrobnosti nejsou uvedeny, ale podle oprav v kódu jsou zranitelnosti způsobeny přístupem k již uvolněné paměti (use-after-free), nesprávným alokováním paměti pro pole, dereferencováním nulového ukazatele a nedostatkem odpovídající kontroly velikosti dat umístěných do vyrovnávací paměti.
Mezi změnami nesouvisejícími s odstraněním zranitelností v nginx 1.27.0:
- Byla přidána podpora pro explicitní použití proměnných v direktivách „proxy_limit_rate“, „fastcgi_limit_rate“, „scgi_limit_rate“ a „uwsgi_limit_rate“.
- Snížena spotřeba paměti při zpracování dlouhodobých požadavků v konfiguracích, kde se používají direktivy „gzip“, „gunzip“, „ssi“, „sub_filter“ nebo „grpc_pass“.
- Vyřešeny problémy se sborkou v GCC 14 při použití možnosti „–with-atomic“.
- Opraveny chyby v implementaci HTTP/3.
Dále lze zmínit publikaci nové hlavní větve FreeNginx 1.27.0, fork Nginx, který vyvíjí Maxim Dunin, jeden z klíčových vývojářů Nginx. FreeNginx se prezentuje jako nekomerční projekt, který zajišťuje vývoj kódové základny Nginx bez korporátního zasahování. V nové verzi bylo vylepšeno zpracování chyb při čtení těla požadavku, zajištěna kompilace v NetBSD 10.0 a vylepšeno zapisování PID souborů (do direktivy „pid“ byl přidán parametr „off“).
Zdroj: opennet.ru
