Een app kan gewoon HTTPS-verkeer ontvangen en toch gevaarlijke invoer verwerken als die door gebruikers aangeleverde Brotli-gegevens uitpakt. Op 25 oktober 2026 bracht Microsoft buiten de reguliere cyclus updates uit voor .NET om een bufferoverloop in de Brotli-decoder te verhelpen; de kwetsbaarheid heeft identificatienummer CVE-2026-111497. Node.js nam een oplossing voor dezelfde kwetsbaarheid op in een afzonderlijke beveiligingsrelease van 21 oktober. De eerste stap voor ontwikkelaars is het pad van externe gegevens naar de decoder in kaart brengen, daarna de runtime bijwerken en de app opnieuw bouwen of opstarten.

Volgens de beschrijving van Microsoft kan de kwetsbaarheid in .NET een niet-geverifieerde aanvaller in staat stellen procesgeheugen te lezen of te beschadigen, wat kan leiden tot gegevensblootstelling, denial-of-service of escalatie van rechten. Er zijn oplossingen uitgebracht voor .NET 8, 9 en 10, en voor .NET 11 Release Candidate 3. Voor .NET 8 zijn runtime 8.0.33 en SDK 8.0.133 of 8.0.427 vermeld. .NET Framework wordt niet getroffen.
Waar de blootstelling ontstaat
Er ontstaat risico wanneer een app een niet-vertrouwde Brotli-stream doorgeeft aan een kwetsbare decoder. In .NET kan dit gebeuren bij het gebruik van ASP.NET Core-requestdecompressie, het automatisch uitpakken van antwoorden via HttpClient of het rechtstreeks aanroepen van API's uit System.IO.Compression, zoals BrotliStream en BrotliDecoder. De .NET-beveiligingswaarschuwing noemt deze routes en vermeldt dat het decomprimeren van inkomende verzoeken en het automatisch uitpakken van antwoorden standaard zijn uitgeschakeld.
Een inventarisatie van pakketten is slechts het begin van de controle. Zoek naar middlewareconfiguraties en HTTP-clients, rechtstreekse aanroepen van de decoder en externe componenten die gecomprimeerde gegevens verwerken. Stel vast of zulke gegevens afkomstig zijn van clients, webhooks, proxy's of externe API's, en welke limieten voor omvang en verwerkingstijd vóór het uitpakken gelden. Zo wordt duidelijk waar kwetsbare code gegevens ontvangt die van buitenaf kunnen worden beïnvloed.
.NET bijwerken
Installeer de update voor de gebruikte release: .NET 8 naar 8.0.33, .NET 9 naar 9.0.22, .NET 10 naar 10.0.14 en .NET 11 naar Release Candidate 3. Installeer voor framework-dependent apps de bijgewerkte runtime en start de app opnieuw. Self-contained-apps moeten opnieuw worden gebouwd en gepubliceerd: een runtime-update op de host vervangt niet de kopie die in de app is opgenomen. Bouw containers opnieuw en implementeer ze met bijgewerkte .NET-images.
Gebruik ook voor NativeAOT bij het opnieuw publiceren bijgewerkte SDK's en runtimepakketten. Als de oplossing nog niet kan worden uitgerold, schakel Brotli dan tijdelijk uit op de vastgestelde invoerroutes die niet-vertrouwde gegevens verwerken. Test gewone verzoeken en integraties: het uitschakelen van compressie kan invloed hebben op de verwerking van clients die gecomprimeerde inhoud versturen.
Controleer Node.js en systeemafhankelijkheden
Het Node.js-project meldde de kwetsbaarheid op 21 oktober: de ingebouwde Brotli-decoder in Node.js 22.x, 24.x en 26.x is getroffen. De Node.js-beveiligingsrelease vermeldt respectievelijk versies 22.23.4, 24.22.1 en 26.12.1 als oplossingen. Werk de gebruikte ondersteunde release bij en start de service opnieuw. Volgens de projectbeschrijving ontstaat het probleem wanneer een app via node:zlib door een aanvaller aangeleverde gegevens uitpakt; geheugencorruptie kan leiden tot een crash, het uitlekken van geheugen of uitvoering van code op afstand.
Controleer ook afhankelijkheden die los van de systeeminstallatie van Node.js of .NET worden meegeleverd. Vergelijk de Brotli-versies in containers en buildartefacten en herhaal de controle na de implementatie. Leg in CI de bijgewerkte basisimage vast en neem controle op kwetsbare bibliotheekversies op in het normale buildproces.
Stappenplan
- Maak een lijst van apps, SDK's, runtimes, containers en NativeAOT-builds die Brotli gebruiken.
- Zoek naar locaties waar externe gegevens automatisch of rechtstreeks worden gedecodeerd.
- Werk .NET, Node.js en afzonderlijk meegeleverde bibliotheken bij naar versies met de oplossing; bouw zelfstandige apps en containers opnieuw.
- Start processen opnieuw en controleer de versies in de draaiende omgeving, niet alleen in projectbestanden.
- Beperk, totdat de oplossing is uitgerold, de verwerking van niet-vertrouwde Brotli-invoer op de vastgestelde kwetsbare routes.
De prioriteit hangt af van twee factoren: of een kwetsbaar onderdeel aanwezig is en of iemand er een speciaal samengestelde gecomprimeerde stream aan kan aanbieden. De update verhelpt het defect; een overzicht van de invoerroutes helpt te controleren of de oplossing ook terechtkomt in processen, zelfstandige builds en containers.