De eerste release van de nieuwe hoofdtak nginx 1.27.0 is gepresenteerd, waarin de ontwikkeling van nieuwe mogelijkheden zal worden voortgezet. Tegelijkertijd is de release nginx 1.26.1 gecreƫerd, die behoort tot de parallel ondersteunde stabiele tak, waarin alleen wijzigingen worden aangebracht die verband houden met het oplossen van ernstige fouten en kwetsbaarheden. Volgend jaar zal op basis van de hoofdtak 1.27.x een stabiele tak 1.28 worden gevormd. De projectcode is geschreven in de programmeertaal C en wordt verspreid onder de BSD-licentie.
In de nieuwe releases zijn 4 kwetsbaarheden verholpen die het experimentele module ngx_http_v3 raken (standaard uitgeschakeld), die ondersteuning biedt voor het HTTP/3-protocol, dat het QUIC-protocol als transport voor HTTP/2 gebruikt. De problemen doen zich alleen voor wanneer het module ngx_http_v3_module is geactiveerd en de optie 'quic' in de 'listen'-directive is ingesteld. Voor de kwetsbaarheden van de forks Angie en FreeNginx is voorlopig nog niets gerapporteerd.
De kwetsbaarheid CVE-2024-34161 leidt tot het lekken van geheugeninhoud van het werkproces op systemen met een MTU ingesteld boven de 4096 bytes. Het lekken van geheugeninhoud gebeurt wanneer CRYPTO-frames die worden gebruikt bij het onderhandelen van de verbinding, worden verzonden na de finaliserende boodschap van de client.
De kwetsbaarheden CVE-2024-31079, CVE-2024-32760 en CVE-2024-35200 zijn veroorzaakt door geheugenbeschadiging en stellen een externe aanvaller in staat om een crash van het nginx-werkproces te veroorzaken door een speciaal gevormde sessie op basis van het QUIC-protocol op te zetten. Voor de kwetsbaarheden CVE-2024-31079 en CVE-2024-32760 worden ook andere gevolgen van de aanval niet uitgesloten (potentieel uitvoeren van kwaadaardige code?). Er worden geen details verstrekt, maar op basis van de correcties in de code lijken de kwetsbaarheden te zijn veroorzaakt door toegang tot al vrijgegeven geheugen (use-after-free), onjuiste geheugenspecificatie voor een array, dereferencering van een null-pointer en het ontbreken van juiste controle van de grootte van de in de buffer geplaatste gegevens.
Onder de niet-kwetsbaarheid gerelateerde wijzigingen in nginx 1.27.0:
- In de directieven 'proxy_limit_rate', 'fastcgi_limit_rate', 'scgi_limit_rate' en 'uwsgi_limit_rate' is ondersteuning toegevoegd voor het specificeren van variabelen.
- Het geheugengebruik is verminderd bij het verwerken van langdurige aanvragen in configuraties die de directieven 'gzip', 'gunzip', 'ssi', 'sub_filter' of 'grpc_pass' gebruiken.
- Problemen met de backport in GCC 14 bij het gebruik van de optie āāwith-atomicā zijn opgelost.
- Fouten in de implementatie van HTTP/3 zijn gecorrigeerd.
Daarnaast kan worden opgemerkt dat de nieuwe hoofdversie FreeNginx 1.27.0 is gepubliceerd, een fork van Nginx ontwikkeld door Maxim Dunin, een van de belangrijkste ontwikkelaars van Nginx. FreeNginx positioneert zich als een non-profit project dat de ontwikkeling van de Nginx-codebasis zonder bedrijfsinmenging waarborgt. In de nieuwe versie zijn de foutafhandeling bij het lezen van de request body verbeterd, is de build voor NetBSD 10.0 geoptimaliseerd en is de registratie van PID-bestanden verbeterd (de parameter āoffā is toegevoegd aan de āpidā directive).
Bron: opennet.ru
