Node2Shell-kwetsbaarheid (CVE-2026-111497): update Node.js en Python nu
Een lek in Brotli raakt Node.js, Python en .NET en wordt actief misbruikt. Zo ziet u welke apps Brotli uitpakken, en wat u nu moet updaten.
De Node2Shell-kwetsbaarheid (CVE-2026-111497) zit in de code die Brotli-gecomprimeerde data uitpakt. Node.js, Python-pakketten en .NET gebruiken die code allemaal. Met gemanipuleerde data kan een aanvaller het geheugen beschadigen, het proces laten crashen en in sommige situaties code uitvoeren. Het Amerikaanse CISA zette het lek op 27 oktober 2026 op de lijst van actief misbruikte kwetsbaarheden. Draait u een backend op Node.js of Python, controleer die dan deze week.
Wat is Node2Shell?
Brotli is een compressieformaat dat browsers en servers naast gzip gebruiken. De fout zit in de Brotli-decoder van Google, versie 1.0.3 tot en met 1.2.0, en is opgelost in 1.0.10, 1.1.1 en 1.2.1. Google geeft het lek een score van 9.2 (kritiek) volgens CVSS 4.0, meldt SecurityWeek.
Node.js levert die decoder mee en bracht op 21 oktober een oplossing uit. Volgens de
melding van Node.js kan
een aanvaller die Brotli-data aanlevert die een applicatie met node:zlib uitpakt, het geheugen van
het proces beschadigen. Dat kan leiden tot een crash, het lekken van geheugen of het uitvoeren van
code op afstand. Node.js zelf noemt de ernst hoog. Dit zijn de versies met de oplossing:
| Releaselijn | Opgelost in |
|---|---|
| Node.js 22 | 22.23.4 |
| Node.js 24 | 24.22.1 |
| Node.js 26 | 26.12.1 |
Node.js 20 en 25 krijgen geen updates meer en blijven kwetsbaar, schrijft Sysdig. Microsoft heeft .NET, Visual Studio en PowerShell bijgewerkt, en Bun loste het op in versie 1.4.4.
Wordt het lek echt misbruikt?
Ja, maar het beeld is gemengd. Ongeveer een dag na de update stond er al voorbeeldcode online. Het beveiligingsbedrijf ELLIO zag op 26 oktober aanvalsverkeer gericht op de officiële build van Node.js 24.22.0. Daarvoor had iemand al gescand welke servers Brotli-gecomprimeerde verzoeken accepteren. Toen ELLIO die aanval zelf naspeelde, lukte het in 50 pogingen geen enkele keer om een shell te krijgen.
Betrouwbaar code uitvoeren is dus voorlopig lastig. Een crash veroorzaken is wel eenvoudig, en een crash van een drukke API is al een storing. CISA gaat uit van misbruik en Amerikaanse overheidsinstanties moeten uiterlijk 10 november bijwerken. Wacht dus niet op een betere exploit.
Welke applicaties lopen risico?
Het lek speelt alleen als uw code Brotli-data uitpakt die van iemand anders komt. Dat gebeurt vaker dan u denkt, omdat frameworks het automatisch doen. Sysdig noemt deze routes in Node.js:
- Express 5 met
express.json(): body-parser 2.x pakt Brotli-verzoeken standaard uit. Express 4 met body-parser 1.x weigert ze. fetch()op de server: die pakt Brotli-antwoorden uit. Een verzoek aan een server die u niet beheert (een webhook, een scraper, een URL die een gebruiker invult) kan dus de aanval afleveren. De headerAccept-Encoding: identitymeesturen helpt niet.- Koa, Strapi en Fastify met
@fastify/compress. - Elk direct gebruik van
zlib.createBrotliDecompress().
Python heeft hetzelfde probleem. De PyPI-pakketten Brotli en brotlicffi zijn opgelost in 1.2.1 en
1.2.1.0. Volgens Aikido
pakken requests (via urllib3), httpx en aiohttp Brotli automatisch uit zodra een van die
pakketten geïnstalleerd is. Uw eigen code hoeft het niet te importeren. Dat geldt dus voor de meeste
scrapers, API-clients en AI-agents die webpagina’s ophalen.
Let ook op uw Linux-distributie. Op Debian, Ubuntu, Alpine en vergelijkbare systemen kan Node.js de
Brotli-bibliotheek van het besturingssysteem gebruiken. Het versienummer van Node.js zegt dan niet of
u veilig bent. Werk daarom ook het brotli-pakket van het besturingssysteem bij.
Wat u nu moet doen
- Maak een overzicht. Zoek alle plekken waar Node.js draait: servers, containers, CI-runners,
serverless functies en tools met een eigen Node.js. Voer op elk
node --versionuit. - Werk Node.js bij naar 22.23.4, 24.22.1, 26.12.1 of nieuwer. Zet alles op Node.js 20 of 25 over naar een ondersteunde versie.
- Bouw uw images opnieuw. Een vastgezette base image krijgt geen fixes. Haal de nieuwe base image op, bouw opnieuw, rol uit en herstart de processen.
- Werk Python-pakketten bij. Voer
pip show brotli brotlicffiuit in elke omgeving en update naar 1.2.1 of 1.2.1.0. Kijk ook in uw lockfiles, want deze pakketten komen vaak mee als optionele extra. - Werk de systeembibliotheek bij op servers en images die de Brotli van de distributie gebruiken.
- Blokkeer wat u vandaag niet kunt bijwerken. CISA adviseert om
Brotli-gecomprimeerde verzoeken te blokkeren
op de proxy of firewall, of Brotli-decodering uit te zetten. In Express doet
express.json({ inflate: false })dat, maar dan weigert u ook gzip. Geen van beide beschermt uitgaandefetch()-verzoeken. - Bereid u voor op 11 november. Node.js heeft voor die dag de volgende beveiligingsupdate aangekondigd, met fixes van hoge ernst voor 22.x, 24.x en 26.x. Wat ze oplossen is nog niet bekend. Zorg dat uw updateproces klaarstaat, zodat de volgende patch routinewerk is.
Is een niet-bijgewerkte dienst de afgelopen twee weken gecrasht op vreemde verzoeken? Ga dan uit van een mogelijke aanval. Bekijk de logs en vervang de geheimen uit de omgeving van dat proces, zoals we beschreven bij de supply chain-aanval op LiteLLM.
Hoe wij dit aanpakken
Software die pagina’s van het open web ophaalt, krijgt Brotli van servers die het niet beheert. Onze automatische nieuwscontrole voor elke klant doet precies dat, net als veel maatwerk-webapplicaties die externe API’s aanroepen. Bij zulke diensten zetten we de runtimeversie vast in de image en bouwen we vanaf een verse base image. Zo wordt een fix als deze een kleine, gecontroleerde wijziging in plaats van een zoektocht langs servers.
Bronnen
- Wednesday, October 21, 2026 Security Releases, Node.js, 21 oktober 2026
- Known Exploited Vulnerabilities Catalog: CVE-2026-111497, CISA
- CISA warns of hackers now exploiting critical Node2Shell flaw, BleepingComputer, 28 oktober 2026
- Node2Shell: Brotli flaw triggers patching across Microsoft, Node.js, Python packages, SecurityWeek, 26 oktober 2026
- Node2Shell (CVE-2026-111497): detecting the Node.js Brotli RCE, Sysdig
- Node2Shell (CVE-2026-111497): RCE on stock Node.js builds, ELLIO, 26 oktober 2026
- Node2Shell Brotli vuln (CVE-2026-111497) evolves to HTTP2Shell, Aikido Security, 27 oktober 2026
- November 2026 Security Releases, Node.js