
Kritieke Node2Shell-kwetsbaarheid in Brotli en Node.js wordt actief misbruikt
De Node2Shell kwetsbaarheid CVE-2026-111497 vormt een ernstig beveiligingsrisico voor applicaties die gebruikmaken van kwetsbare Brotli-decompressie. De kwetsbaarheid kan leiden tot geheugenbeschadiging, het uitlezen van vertrouwelijke procesinformatie, het vastlopen van applicaties en mogelijk remote code execution. Op 27 oktober 2026 heeft CISA bevestigd dat deze kwetsbaarheid actief wordt misbruikt. Beheerders van Node.js-applicaties, VPS-servers en andere systemen die Brotli gebruiken, moeten daarom controleren of hun software is bijgewerkt.
De kwetsbaarheid wordt aangeduid met verschillende namen, waaronder Node2Shell, HTTP2Shell, Brotli2Shell en Broccoli2Shell.
Al deze namen verwijzen naar dezelfde kwetsbaarheid: CVE-2026-111497.
Google beoordeelt het beveiligingsprobleem met een CVSS 4.0-score van 9,2.
De officiële Node.js-beveiligingsupdates verschenen op 21 oktober 2026.
Wat is de Node2Shell kwetsbaarheid?
De Node2Shell kwetsbaarheid bevindt zich in de Brotli-decoder.
Brotli is een compressiealgoritme dat wordt gebruikt om gegevens efficiënter te versturen en op te slaan.
Het wordt onder andere toegepast binnen HTTP-verkeer, programmeerbibliotheken en verschillende serverapplicaties.
Wanneer een applicatie Brotli-gecomprimeerde gegevens ontvangt, moet de decoder deze gegevens weer uitpakken.
In kwetsbare Brotli-versies kan een speciaal geconstrueerde gegevensstroom ervoor zorgen dat de decoder buiten de grenzen van een interne geheugenbuffer schrijft.
Dit wordt een out-of-bounds write genoemd.
Hierdoor kan het geheugen van het betreffende proces beschadigd raken.
Hoe werkt CVE-2026-111497?
Volgens het Node.js Security Team ontstaat het probleem wanneer de Brotli-decoder een ongeldige overgang tussen gecomprimeerde gegevensblokken verkeerd verwerkt.
In plaats van de gegevens onmiddellijk als ongeldig af te wijzen, kan de decoder proberen aanvullende gegevens te verwerken.
Daarbij kunnen gegevens buiten een interne buffer terechtkomen.
Een aanvaller die controle heeft over Brotli-gecomprimeerde gegevens die door de applicatie worden uitgepakt, kan hierdoor mogelijk geheugenbeschadiging veroorzaken.
De gevolgen kunnen variëren van een applicatiecrash tot het uitlezen van procesgeheugen of het uitvoeren van ongeautoriseerde code.
Remote code execution is afhankelijk van de concrete softwareomgeving en de mogelijkheden van de aanvaller.
Welke applicaties zijn kwetsbaar?
De kwetsbaarheid is niet beperkt tot Node.js.
Het onderliggende probleem bevindt zich in de Brotli-bibliotheek die door meerdere softwareprojecten wordt gebruikt.
Onder andere de volgende software kan getroffen zijn:
- Node.js-applicaties.
- Software die kwetsbare Google Brotli-bibliotheken gebruikt.
- Bepaalde Python-applicaties met Brotli-afhankelijkheden.
- Applicaties die gebruikmaken van kwetsbare brotlicffi-versies.
- Bepaalde Envoy- en Istio-configuraties.
- Andere software waarin kwetsbare Brotli-code is opgenomen.
Een applicatie is niet automatisch op afstand exploiteerbaar alleen omdat Brotli aanwezig is.
Voor de beschreven aanval moet kwetsbare decoderfunctionaliteit daadwerkelijk gegevens verwerken die door een aanvaller kunnen worden beïnvloed.
Welke Node.js-versies zijn getroffen?
De officiële Node.js-beveiligingsmelding noemt de ondersteunde releasegroepen 22.x, 24.x en 26.x.
De eerste gecorrigeerde versies zijn:
- Node.js 22: versie 22.23.4.
- Node.js 24: versie 24.22.1.
- Node.js 26: versie 26.12.1.
Op 28 oktober 2026 verschenen daarnaast Node.js 24.22.2 en Node.js 26.13.0.
Vservs adviseert om binnen de gebruikte ondersteunde releasegroep de meest recente stabiele beveiligde versie te installeren.
Verouderde Node.js-releasegroepen die niet meer worden ondersteund, moeten worden vervangen door een ondersteunde versie.
Welke Brotli-versies zijn veilig?
De kwetsbaarheid betreft verschillende historische versies van Google Brotli.
De beveiligingscorrecties zijn beschikbaar in:
- Brotli 1.0.10.
- Brotli 1.1.1.
- Brotli 1.2.1.
Welke versie moet worden geïnstalleerd, hangt af van de gebruikte onderhoudslijn en de betreffende softwareleverancier.
Bij Linux-distributies kunnen beveiligingscorrecties worden teruggeplaatst naar oudere pakketversies.
Daardoor hoeft een gepatcht distributiepakket niet hetzelfde versienummer te hebben als de nieuwste upstreamrelease.
Specifieke aandacht voor Debian-servers
Voor beheerders van Debian-servers is het belangrijk om onderscheid te maken tussen de systeemversie van Brotli en eventueel meegeleverde bibliotheken binnen andere applicaties.
Volgens de Debian Security Tracker bevat Debian 12 een gecorrigeerde Brotli-package met versienummer:
1.0.9-2+deb12u1
Voor Debian 13 wordt de correctie vermeld in:
1.1.0-2+deb13u1
Deze distributiepatches bevatten de relevante beveiligingscorrectie, ondanks hun lagere upstreamversienummer.
Dat betekent niet automatisch dat alle andere software op dezelfde server ook veilig is.
Node.js-runtimes, containers en applicaties met eigen meegeleverde bibliotheken moeten afzonderlijk worden gecontroleerd.
Node2Shell wordt actief misbruikt
Op 27 oktober 2026 heeft CISA CVE-2026-111497 toegevoegd aan de Known Exploited Vulnerabilities-catalogus.
Daarmee is bevestigd dat voldoende aanwijzingen bestaan voor actieve exploitatie.
Beveiligingsonderzoekers hebben daarnaast exploitatiepogingen tegen kwetsbare Node.js-omgevingen beschreven.
Dat betekent echter niet dat iedere aanval succesvol is.
Ook zijn niet voor alle getroffen softwareproducten succesvolle aanvallen op productiesystemen onafhankelijk bevestigd.
Vservs adviseert daarom om onderscheid te maken tussen bevestigde exploitatieactiviteit en daadwerkelijk aangetoonde compromittering van individuele servers.
Welke gevolgen kan een aanval hebben?
Een succesvolle aanval kan verschillende gevolgen hebben:
- Onverwacht vastlopen van Node.js-processen.
- Geheugenbeschadiging binnen een applicatie.
- Mogelijke blootstelling van gevoelige procesinformatie.
- Verstoring van API’s en webapplicaties.
- Mogelijke uitvoering van ongeautoriseerde code.
- Verdere compromittering wanneer de aanvaller voldoende procesrechten verkrijgt.
De impact hangt af van de rechten waaronder de kwetsbare applicatie draait.
Een applicatie die met beperkte systeemrechten wordt uitgevoerd, heeft doorgaans minder mogelijkheden dan een proces met uitgebreide serverrechten.
Hoe controleert u uw Node.js-server?
Beheerders kunnen de geïnstalleerde Node.js-versie controleren met:
node --version
Controleer daarnaast of meerdere Node.js-versies op dezelfde server aanwezig zijn.
Bij gebruik van Docker moeten ook de Node.js-versies binnen containerimages worden gecontroleerd.
Een bijgewerkte versie op de host betekent namelijk niet automatisch dat bestaande containers eveneens zijn bijgewerkt.
Controleer daarnaast applicaties die gecomprimeerde verzoeken ontvangen of Brotli-gecomprimeerde antwoorden van externe systemen verwerken.
Welke maatregelen adviseert Vservs?
- Inventariseer actieve Node.js-applicaties en hun runtimeversies.
- Installeer de toepasselijke beveiligingsupdates.
- Controleer distributiepatches voor Brotli.
- Werk kwetsbare Python-afhankelijkheden bij.
- Bouw containerimages opnieuw met bijgewerkte basisimages.
- Herstart applicatieprocessen na het installeren van updates.
- Controleer of kwetsbare Brotli-decompressie daadwerkelijk wordt gebruikt.
- Beperk waar mogelijk het verwerken van niet-vertrouwde gecomprimeerde gegevens.
- Controleer serverlogs op verdachte verzoeken en onverwachte procescrashes.
Het uitschakelen van Brotli-compressie voor uitgaande websiteverzoeken is niet noodzakelijk voldoende.
De kwetsbaarheid bevindt zich in de decompressie van gegevens.
Wanneer een applicatie nog steeds door aanvallers beïnvloedbare Brotli-gegevens kan uitpakken, kan het beveiligingsprobleem aanwezig blijven.
Hoe controleert u op mogelijke compromittering?
Wanneer een kwetsbare applicatie publiek bereikbaar was, adviseert Vservs om relevante beveiligingslogs en procesactiviteiten te onderzoeken.
Let onder andere op:
- Onverklaarbare crashes van Node.js-processen.
- Verdachte verzoeken met Content-Encoding: br.
- Ongewone subprocessen die door Node.js worden gestart.
- Onverwachte uitgaande netwerkverbindingen.
- Nieuwe bestanden in applicatie- en tijdelijke directories.
- Afwijkende wijzigingen in applicatiebestanden.
- Onbekende geplande taken of systeemdiensten.
Deze indicatoren zijn niet exclusief voor Node2Shell en vormen afzonderlijk geen bewijs van succesvolle exploitatie.
Bij een vermoeden van compromittering moeten relevante logs en andere bewijsmiddelen worden veiliggesteld.
Managed VPS en serverbeveiliging bij Vservs
Vservs beheert Linux-hostinginfrastructuur voor bedrijven, webshops, ontwikkelaars en organisaties.
Onze Managed VPS Servers bieden serverbeheer, monitoring, back-ups en onderhoud van de hostingomgeving.
Voor applicaties met eigen Node.js-runtimes en externe programmeerbibliotheken blijft het belangrijk om ook applicatieafhankelijkheden te onderhouden.
Via de Vservs Security-beveiligingsupdates informeren wij klanten over belangrijke kwetsbaarheden in hostingsoftware en webapplicaties.
Conclusie
De Node2Shell kwetsbaarheid CVE-2026-111497 vormt een ernstig beveiligingsrisico voor applicaties die kwetsbare Brotli-decompressie gebruiken.
CISA heeft op 27 oktober 2026 actieve exploitatie bevestigd.
Vservs adviseert beheerders om Node.js, Brotli en relevante applicatieafhankelijkheden onmiddellijk te controleren en waar nodig bij te werken.
Bij containeromgevingen moeten ook bestaande images opnieuw worden gebouwd en uitgerold.

