Microsoft heeft noodpatches uitgebracht voor .NET nadat bleek dat het Brotli-lek achter Node2Shell, officieel CVE-2026-111497, ook .NET-toepassingen treft. Microsoft noemt de kwetsbaarheid zelf Broccoli2Shell; andere partijen spreken ook van HTTP2Shell. Het gaat steeds om dezelfde onderliggende fout: een out-of-bounds write in de Brotli-decompressiebibliotheek van Google, die behalve in Node.js ook in talloze andere taalomgevingen wordt meegeleverd.
.NET: geraakt via ASP.NET Core, HttpClient en System.IO.Compression
Microsoft bracht noodpatches uit voor .NET 8 (8.0.33), .NET 9 (9.0.22), .NET 10 (10.0.14) en een release candidate voor .NET 11 (RC3). Een toepassing loopt risico zodra ze Brotli-gecomprimeerde data verwerkt via de automatische request-decompressie van ASP.NET Core, de automatische response-decompressie van HttpClient, of rechtstreeks via de Brotli-API’s in System.IO.Compression. Brotli-decompressie staat niet standaard aan, dus niet elke .NET-toepassing is kwetsbaar. Volgens Microsoft kan een aanvaller zonder speciale rechten een kwaadaardige Brotli-stream sturen om de toepassing te laten crashen, geheugen te laten lekken, en in sommige gevallen code uit te voeren; op ongepatchte installaties met een niet-standaardconfiguratie is zelfs rechtenverhoging op afstand mogelijk. Er is inmiddels proof-of-concept-code op GitHub gepubliceerd, maar nog geen bevestigd misbruik in het wild. Belangrijk: het bijwerken van de Brotli-bibliotheek van het besturingssysteem repareert geen toepassingen die hun eigen kopie van Brotli meeleveren, dus controleer ook containerimages en losse dependency’s.
PHP op Windows: de eerste patch was niet genoeg
PHP moest vijf dagen na zijn eerste PHP2Shell-noodpatch een tweede, Windows-specifieke update uitbrengen. De Windows-pakketten van 21 oktober losten de twee PHP2Shell-kwetsbaarheden zelf op, maar bevatten nog altijd de kwetsbare Brotli-versie 1.2.0 als meegeleverde bibliotheek. Op Windows is dat lek bereikbaar via de cURL-extensie, mits automatische HTTP-response-decompressie is ingeschakeld; dat staat standaard uit. De nieuwe Windows-builds, te herkennen aan een “-1”-achtervoegsel in de bestandsnaam (bijvoorbeeld php-8.5.12-1-nts-Win32-vs17-x64.zip), bevatten Brotli 1.2.1. Omdat het PHP-versienummer zelf niet verandert, toont php -v voor en na de update dezelfde uitkomst; controleer dus de bestandsnaam of de SHA-256-hash op PHP’s downloadpagina, niet de versie-output.
Voor Nederlandse ontwikkelteams is de kernles dat dit Brotli-lek niet aan één taal of platform hangt: het zit in een gedeelde, onderliggende bibliotheek die talloze talen en frameworks meeleveren. Controleer dus niet alleen Node.js-servers, maar ook .NET-toepassingen die Brotli-gecomprimeerde requests of responses verwerken, en PHP-installaties op Windows die de cURL-extensie met automatische decompressie gebruiken. Werk in alle gevallen bij naar de genoemde versies, en vergeet daarbij geen containerimages of losse builds die een eigen Brotli-kopie meeleveren.
Bron: BleepingComputer en The Hacker News
Wat betekent dit voor jouw bedrijf?
Gebruikt uw organisatie .NET met Brotli-decompressie, of PHP op Windows met de cURL-extensie? Controleer of u de nieuwste builds heeft (.NET 8.0.33/9.0.22/10.0.14, of PHP-Windows met '-1'-achtervoegsel in de bestandsnaam), en vergeet containerimages met een eigen meegeleverde Brotli-kopie niet.
Zelfde kwetsbaarheid
Blijf op de hoogte
Meld je aan voor de nieuwsbrief: spoedalerts bij kritieke dreigingen en een wekelijks overzicht. Geen mail achterlaten? Volg ons dan via RSS.
