Predstavljena je bila prva izdaja nove glavne veje nginx 1.27.0, v okviru katere se bo nadaljeval razvoj novih funkcij. Hkrati je izšel nginx 1.26.1, ki spada v vzporedno podprto stabilno vejo, ki vključuje le spremembe v zvezi z odpravljanjem resnih napak in ranljivosti. Naslednje leto bo na osnovi glavne veje 1.27.x nastala stabilna veja 1.28. Projektna koda je napisana v C in se distribuira pod licenco BSD.
Nove izdaje odpravljajo 4 ranljivosti, ki vplivajo na eksperimentalni modul ngx_http_v3 (privzeto onemogočen), ki zagotavlja podporo za protokol HTTP/3 z uporabo protokola QUIC kot transporta za HTTP/2. Težave se pojavijo le, ko je aktiviran modul ngx_http_v3_module in je v direktivi »listen« nastavljena možnost »quic«. Ni še nobene besede o ranljivosti vilic Angie in FreeNginx.
Ranljivost CVE-2024-34161 povzroči uhajanje pomnilnika delovnega procesa v sistemih z vrednostjo MTU, večjo od 4096 bajtov. Do puščanja pomnilnika pride, ko so okvirji CRYPTO, uporabljeni v pogajanjih o povezavi, poslani po tem, ko odjemalec pošlje sporočilo za dokončanje.
Ranljivosti CVE-2024-31079, CVE-2024-32760 in CVE-2024-35200 poškodbe pomnilnika omogočajo oddaljenemu napadalcu, da zruši delovni proces nginx z vzpostavitvijo posebej oblikovane seje, ki temelji na protokolu QUIC. Hkrati za ranljivosti CVE-2024-31079 in CVE-2024-32760 ni mogoče izključiti drugih posledic napada (potencialna možnost izvedbe napadalčeve kode?). Podrobnosti niso podane, a sodeč po popravkih v kodi so ranljivosti posledica dostopa do že sproščenega pomnilnika (use-after-free), nepravilne dodelitve pomnilnika za matriko, dereference ničelnega kazalca in pomanjkanja ustreznega preverjanja velikosti podatki, shranjeni v medpomnilniku.
Med spremembami, ki niso povezane z odpravo ranljivosti v nginx 1.27.0:
- Podpora za določanje spremenljivk je bila dodana direktivam "proxy_limit_rate", "fastcgi_limit_rate", "scgi_limit_rate" in "uwsgi_limit_rate".
- Zmanjšana poraba pomnilnika pri obdelavi dolgotrajnih zahtev v konfiguracijah, ki uporabljajo direktive "gzip", "gunzip", "ssi", "sub_filter" ali "grpc_pass".
- Odpravljene težave s ponastavitvijo v GCC 14 pri uporabi možnosti "--with-atomic".
- Napake pri implementaciji HTTP/3 so bile odpravljene.
Poleg tega lahko opazimo objavo nove glavne veje FreeNginx 1.27.0, razcepa Nginxa, ki ga je razvil Maxim Dunin, eden ključnih razvijalcev Nginxa. FreeNginx je postavljen kot neprofitni projekt, ki zagotavlja razvoj kodne baze Nginx brez vmešavanja podjetij. Nova različica ima izboljšano obravnavanje napak pri branju telesa zahteve, izboljšano sestavljanje v NetBSD 10.0 in izboljšano pisanje datotek PID (parameter »off« je bil dodan direktivi »pid«).
Vir: opennet.ru
