Den første version af den nye hovedgren nginx 1.27.0 er blevet præsenteret, hvor udviklingen af nye funktioner fortsætter. Samtidig er version nginx 1.26.1 blevet udgivet, som tilhører den parallelt understøttede stabile gren, hvor der kun foretages ændringer relateret til reparation af alvorlige fejl og sårbarheder. I det næste år vil den stabile gren 1.28 blive dannet på grundlag af hovedgrenen 1.27.x. Projektets kode er skrevet i C og distribueres under BSD-licensen.
De nye udgivelser retter 4 sårbarheder, der påvirker den eksperimentelle modul ngx_http_v3 (som er deaktiveret som standard), der muliggør understøttelse af HTTP/3-protokollen, som bruger QUIC-protokollen som transport for HTTP/2. Problemerne opstår kun, når modulet ngx_http_v3_module aktiveres og indstillingen 'quic' er sat i direktivet 'listen'. Der er endnu ikke rapporteret noget om sårbarhederne i forgreningerne Angie og FreeNginx.
Sårbarheden CVE-2024-34161 fører til lækage af indhold fra arbejdsprocessens hukommelse på systemer med en MTU sat til mere end 4096 byte. Lækagen opstår, hvis der sendes CRYPTO-rammer, der bruges under forbindelsesaftalen, efter klienten har sendt den afsluttende besked.
Sårbarhederne CVE-2024-31079, CVE-2024-32760 og CVE-2024-35200 skyldes hukommelsesskader og tillader en fjernangriber at få arbejdsprocessen til at afslutte uventet ved at etablere et specialdesignet session baseret på QUIC-protokollen. For sårbarhederne CVE-2024-31079 og CVE-2024-32760 er der ikke udelukket andre konsekvenser af angrebet (potentiale for udførelse af angriberens kode?). Der gives ikke flere detaljer, men ifølge rettelserne i koden skyldes sårbarhederne adgang til allerede frigivet hukommelse (use-after-free), forkert tildeling af hukommelse til en matrix, dereferencering af en nul-peger og mangel på korrekt kontrol af størrelsen på de data, der placeres i bufferen.
Blandt ændringer, der ikke er relateret til reparation af sårbarheder i nginx 1.27.0:
- Der er tilføjet støtte til angivelse af variabler i direktiverne 'proxy_limit_rate', 'fastcgi_limit_rate', 'scgi_limit_rate' og 'uwsgi_limit_rate'.
- Der er reduceret hukommelsesforbruget ved behandling af langvarige forespørgsler i konfigurationer, hvor direktiverne 'gzip', 'gunzip', 'ssi', 'sub_filter' eller 'grpc_pass' anvendes.
- Problemerne med nedbrydning i GCC 14 ved brug af indstillingen «—with-atomic» er løst.
- Fejlene i implementeringen af HTTP/3 er blevet rettet.
Derudover kan man nævne offentliggørelsen af den nye hovedgren FreeNginx 1.27.0, en fork af Nginx, udviklet af Maxim Dunin, en af de centrale udviklere af Nginx. FreeNginx positioneres som et non-profit projekt, der sikrer udviklingen af Nginx's kodebase uden virksomhedens indgriben. I den nye version er fejlhåndteringen under læsning af anmodningens krop forbedret, samlingen i NetBSD 10.0 er justeret, og PID-filer bliver bedre skrevet (parameteren «off» er tilføjet til direktivet «pid»).
Kilde: opennet.ru
