Predstavljen je prvi izlaz nove glavne grane nginx 1.27.0, u okviru koje će se nastaviti razvoj novih mogućnosti. Istovremeno je formiran izlaz nginx 1.26.1, koji pripada paralelno podržavanoj stabilnoj grani, u koju se unose samo promjene vezane uz ispravke ozbiljnih grešaka i ranjivosti. Sljedeće godine na bazi glavne grane 1.27.x bit će formirana stabilna grana 1.28. Kod projekta napisan je na jeziku C i distribuira se pod BSD licencom.
U novim izdanjima ispravljena su 4 ranjivosti koje se odnose na eksperimentalni modul ngx_http_v3 (koji je prema zadanim postavkama isključen), koji omogućuje podršku za protokol HTTP/3, koristeći protokol QUIC kao transport za HTTP/2. Problemi se pojavljuju samo kada je modul ngx_http_v3_module aktiviran i kada je opcija 'quic' postavljena u direktivi 'listen'. O podložnostima ranjivostima forkova Angie i FreeNginx za sada nema informacija.
Ranjivost CVE-2024-34161 dovodi do curenja sadržaja memorije radnog procesa na sustavima s MTU postavljenim na više od 4096 bajtova. Curenje sadržaja memorije nastaje prilikom slanja CRYPTO okvira koji se koriste prilikom pregovora veze, u fazi nakon što klijent pošalje završnu poruku.
Ranjivosti CVE-2024-31079, CVE-2024-32760 i CVE-2024-35200 uzrokovane su oštećenjem memorije i omogućuju udaljenom napadaču da uzrokuje rušenje radnog procesa nginx putem specijalno oblikovane sesije na bazi protokola QUIC. Pri tome, za ranjivosti CVE-2024-31079 i CVE-2024-32760 ne isključuju se i druge posljedice napada (potencijalna mogućnost izvršavanja koda napadača?). Detalji nisu navedeni, ali sudeći prema izmjenama u kodu, ranjivosti su uzrokovane pristupom već oslobođenoj memoriji (use-after-free), pogrešnim alokacijama memorije za niz, dereferenciranjem nultog pokazivača i nedostatkom odgovarajuće provjere veličine podataka koji se smještaju u bafer.
Među promjenama koje nisu povezane s ispravljanjem ranjivosti u nginx 1.27.0:
- U direktivama 'proxy_limit_rate', 'fastcgi_limit_rate', 'scgi_limit_rate' i 'uwsgi_limit_rate' dodana je podrška za navođenje varijabli.
- Smanjena je potrošnja memorije prilikom obrade dugotrajnih zahtjeva u konfiguracijama u kojima se koriste direktive 'gzip', 'gunzip', 'ssi', 'sub_filter' ili 'grpc_pass'.
- Rešeni problemi s rušenjem u GCC 14 prilikom korištenja opcije „—with-atomic“.
- Ispravljene su greške u implementaciji HTTP/3.
Dodatno se može istaknuti objava nove glavne grane FreeNginx 1.27.0, fork-a Nginx-a, kojeg razvija Maksim Dunin, jedan od ključnih developera Nginx-a. FreeNginx se pozicionira kao neprofitni projekt koji osigurava razvoj baze koda Nginx-a bez korporativne intervencije. U novoj verziji poboljšana je obrada pogrešaka prilikom čitanja tijela zahtjeva, uspostavljena je gradnja na NetBSD 10.0 i poboljšano je zapisivanje PID datoteka (u direktivu „pid“ dodan je parametar „off“).
Izvor: opennet.ru
