HomeCybersecurityNGINX verhelpt vijf kwetsbaarheden, waaronder mogelijke RCE en een TLS-bug die clientcertificaatcontroles...

NGINX verhelpt vijf kwetsbaarheden, waaronder mogelijke RCE en een TLS-bug die clientcertificaatcontroles kan omzeilen

NGINX heeft op 14 oktober versies 1.30.6 en 1.31.7 uitgebracht om vijf kwetsbaarheden te verhelpen, waarvan één aanwezig is in elke release sinds mei 2005.

Er zijn drie geheugenfouten die, aldus F5 (het bedrijf achter NGINX), een workerproces kunnen laten crashen of mogelijk een aanvaller code laat uitvoeren; elk vereist een specifieke configuratie om uitgebuit te worden.

Een vierde laat een aanvaller een TLS-sessie vervalsen die client-certificaatcontroles kan omzeilen, hoewel F5 de vervalsing als niet-deterministisch en buiten de controle van de aanvaller omschrijft. De vijfde laat een HTTP/3-client extra bytes in een verzoek sluipen die NGINX doorstuurt naar een backend.

Geen van de vijf stond op 15 oktober in CISA’s Known Exploited Vulnerabilities-catalogus en noch NGINX noch F5 meldt aanvallen. NGINX classificeert alle vijf als medium. F5 beoordeelt de drie geheugenfouten met 9,2 (Critical) op CVSS v4.0, de TLS-fout met 8,3 en de HTTP/3-fout met 6,9.

Welke configuraties zijn kwetsbaar

Voor elk van de vijf is een door u toegevoegde directive vereist: een alias met een rewrite, een regex-map, AIO met SSI, een gedeelde TLS-sessiecache of HTTP/3. De eigen documentatie van NGINX raadt de gedeelde sessiecache en request buffering aan; de andere voorwaarde voor de HTTP/3-fout staat standaard aan.

De TLS-fout bevindt zich in de automatische rotatie van sessieticket-sleutels. Sessietickets stellen een client in staat een TLS-sessie te hervatten zonder volledige handshake, en sinds versie 1.23.2 (oktober 2022) zorgt een shared session cache ervoor dat NGINX zelf de ticket-sleutels genereert en roteert tenzij u sleutels uit een bestand laadt.

Elk workerproces houdt een kopie van drie key-slots bij. Bij rotatie werden er slechts twee gekopieerd, zodat de derde slot whatever in het geheugen stond daarbleef, en een ticket dat die slot benoemde kon geverifieerd en ontsleuteld worden met dat niet-geïnitialiseerde key-materiaal, waardoor “een vervalste sessie mogelijk was”, aldus de fix-commit.

F5 zegt dat de vervalsing “op een niet-deterministische manier werkt die buiten de controle van de aanvaller ligt” en dat een aanvaller deze zou kunnen gebruiken om verificatie van clientcertificaten te omzeilen. De blootgestelde instelling, ssl_session_cache shared:SSL:10m, is degene die NGINX in zijn voorbeeldconfiguratie gebruikt. NGINX repareerde in februari 2025 een session-reuse-kwetsbaarheid met hetzelfde gevolg, CVE-2025-23419.

De hieronder genoemde voorwaarden en workarounds zijn die van NGINX en F5. De versiebereiken komen uit de advisories-pagina van NGINX.

Gebrek Wat het mogelijk maakt Configuratie die u blootstelt Getroffen versies Als u niet kunt upgraden (F5)

CVE-2026-15176

Heap-overflow in een workerproces: crash, mogelijk code-uitvoering Een locatie met alias, een rewrite die de URI verandert, en iets dat $request_filename leest (return, set, if, add_header of het access-log-formaat) 0.1.29 tot 1.31.6 Gebruik die locatie geen alias. Gebruik $request_filename niet.

CVE-2026-93479

Heap-overflow in een workerproces: crash, mogelijk code-uitvoering Een regex-map waarvan captures worden gerefereerd door root of log_format vóór de outputvariabele van de map 1.30.0 tot 1.30.5 en 1.31.2 tot 1.31.6 Gebruik named captures, en gebruik die alleen binnen het blok met de regex-match.

CVE-2026-97205

Use-after-free in een workerproces: crash, geheugenbeschadiging, mogelijk code-uitvoering aio ingeschakeld en een SSI-pagina met include virtual-commando’s, in sommige configuraties 0.8.11 tot 1.31.6 Schakel aio uit, of serveer geen SSI-pagina’s.

CVE-2026-95101

Extra bytes geïnjecteerd in een geproxied verzoek, of een body voorbij client_max_body_size HTTP/3 met

proxy_request_buffering on

, de standaard

1.25.0 tot 1.31.6 Zet proxy_request_buffering off.

CVE-2026-97629

Een vervalste TLS-sessie die client-certificaatverificatie kan omzeilen (niet-deterministisch en buiten de controle van de aanvaller, zegt F5) ssl_session_cache shared:... zonder

ssl_session_ticket_key

, wat automatische sleutelrotatie inschakelt

1.23.2 tot 1.31.6 Verwijder de shared-cache-directive, of laad sleutels uit een bestand met ssl_session_ticket_key. Servers met ssl_session_tickets off zijn niet getroffen.

Eén kwetsbaarheid leidt terug naar de juli-fix

De map-kwetsbaarheid, CVE-2026-93479, zit in de stringverwerkende code die NGINX op 15 juli patchte voor CVE-2026-42533, een heap-overflow die F5 met 9,2 scoorde en die via captures van een regex-map bereikt kan worden.

De nieuwe overflow werd mogelijk na een wijziging in die juli-release, volgens de fix-commit. Een patch in juli voegde bescherming toe tegen het overschrijden van een buffer, maar gegevens konden nog steeds in een gereserveerd gebied lekken, en een tweede juli-patch bepaalde daarna de grootte van de uiteindelijke string op basis van die gelekte lengte, waardoor de string zijn buffer kon overstijgen.

De commit stelt er limieten aan. De overflow is maximaal de grootte van het gereserveerde gebied op het document-rootpad, en een enkele null-byte op het access-log-pad.

De advisories van F5 en de advisories-pagina van NGINX noemen 1.30.0 en 1.31.2 als de vroegste getroffen versies, die vóór de juli-wijziging liggen. Een server die in juli gepatcht is valt in elk geval binnen het getroffen bereik.

De in juli door F5 voorgestelde workaround was al in twijfel getrokken. Onderzoeker Stan Shaw vertelde The Hacker News in juli dat overschakelen naar named captures een smallere route openliet, en dat upgraden “de enige volledige oplossing” was.

De fix-commits voor de alias-, AIO- en HTTP/3-fouten beschrijven de andere drie bugs. De alias-kwetsbaarheid opent in het moment nadat een rewrite de URI van een verzoek verandert en voordat NGINX de volgende locatie kiest. Als iets $request_filename leest in dat venster, en de prefix van de locatie langer is dan de herschreven URI, kan het mappen van de URI naar een bestandspad een buffer overschrijden.

De AIO-fout betreft een teller. Elke in afwachting zijnde asynchrone operatie op een verzoek verhoogt een 8-bit veld met één zonder controle, dus 256 in afwachting zijnde operaties laten het op nul teruglopen en het verzoek kan vrijgegeven worden terwijl die bewerkingen nog naar zijn geheugen verwijzen. NGINX benoemt SSI-pagina’s met include virtual-commando’s, die hun inbegrepen verzoeken parallel kunnen uitvoeren, als trigger.

De HTTP/3-fout ontstond doordat één parserveld twee taken had: het bijhouden van de resterende lengte van een onbekend frame dat wordt overgeslagen, en het aantal DATA-bytes dat als requestbody doorgegeven moet worden. Wanneer een onbekend frame over twee reads verdeeld werd, werd de overgebleven telling als body behandeld en naar de backend gestuurd, buiten de controle van client_max_body_size.

Wat te doen

Upgrade naar 1.30.6 op de stable-branch of 1.31.7 op mainline. De stable-release bevat alleen fixes. NGINX publiceert fixes alleen voor die twee branches, dus oudere branches zoals 1.28 blijven binnen de getroffen reeksen, en een distributiepakket is alleen gefixt als uw distributie de patches heeft teruggeport.

NGINX Plus-klanten en gebruikers van F5’s Ingress Controller, Gateway Fabric, Instance Manager en WAF-producten moeten de advisories van F5 controleren, die getroffen builds vermelden en voor meerdere producten (vanaf 15 oktober) nog geen gefixeerde build tonen.

Als u nog niet kunt upgraden, bevat de tabel hierboven F5’s workaround voor elk probleem. Om te zien welke paden uw server heeft ingeschakeld, print de draaiende configuratie met nginx -T en zoek daarin naar alias naast een rewrite, een regex-map gebruikt door root of log_format, aio samen met ssi, listen-regels met quic, en ssl_session_cache shared zonder ssl_session_ticket_key.

De rewrite-module overflow die NGINX in mei patchte, CVE-2026-42945, werd binnen enkele dagen na publicatie misbruikt, vond VulnCheck. Dit is de achtste beveiligingsrelease van NGINX in 2026.

F5 geeft krediet aan Matt Suiche van Tolmo en Mateusz Gierblinski voor de map-kwetsbaarheid, Hansol Lee van GOTROOT voor de HTTP/3-kwetsbaarheid, PhiNode Labs voor de TLS-kwetsbaarheid, en een onderzoeker die het noemt Cyberlanc3r voor de AIO-kwetsbaarheid.

F5 ontdekte de alias-kwetsbaarheid zelf. NGINX bracht op dezelfde dag ook njs 1.0.2 uit, waarin twee kwetsbaarheden van medium-ernst in de XML-afhandeling van zijn JavaScript-module werden opgelost, CVE-2026-101025 en CVE-2026-101019.

Nural Sevimov
Nural Sevimovhttps://itvandaag.be
Nural Sevimov is oprichter en eigenaar van Actiefhost. Sinds 2011 werkt hij dagelijks met Linux-servers, hostinginfrastructuur en softwareontwikkeling. Met jarenlange praktijkervaring combineert hij technische kennis met een passie voor betrouwbare, efficiënte en moderne hostingoplossingen.
GERELATEERDE ARTIKELEN

Meest populair

Recente reacties