AdvertentieNordVPN — Black Friday: tot 78% korting + 3 maanden extra

Node.js dicht kritiek RCE-lek in Brotli-decoder (CVE-2026-111497)

Node.js verhelpt CVE-2026-111497, een kritiek RCE-lek in de Brotli-decoder, in de releaselijnen 22.x, 24.x en 26.x.

Actief misbruikt
Getroffen systemen
  • Node.js 22.x (vóór 22.23.4)
  • Node.js 24.x (vóór 24.22.1)
  • Node.js 26.x (vóór 26.12.1)
Veilige versies
  • 22.23.4
  • 24.22.1
  • 26.12.1

Node.js heeft op 21 oktober beveiligingsupdates uitgebracht voor alle drie de ondersteunde releaselijnen: 22.x, 24.x en 26.x. De ronde verhelpt in totaal tien kwetsbaarheden. De ernstigste daarvan is CVE-2026-111497, een out-of-bounds write in de Brotli-decoder die Node.js intern gebruikt om gecomprimeerde data uit te pakken. Het project beoordeelt het lek als “high” en waarschuwt dat het remote code execution mogelijk maakt: wie een kwaadaardig gecomprimeerd bestand of datastroom door een Node.js-toepassing laat verwerken, kan daarmee in het ergste geval willekeurige code op de server laten draaien. Het lek werd gemeld door OpenAI Codex Security en verholpen door Node.js-maintainers Matteo Collina en Antoine du Hamel.

De fix zit in de versies v22.23.4, v24.22.1 en v26.12.1, voor respectievelijk de 22.x-, 24.x- en 26.x-lijn. Of er al misbruik van CVE-2026-111497 bekend is, meldt Node.js niet.

Naast de Brotli-bug verhelpt de update nog negen andere kwetsbaarheden, met ernst variërend van high tot low. Drie daarvan raken netwerkverificatie: dns.resolve() knipt domeinnamen af zodra er een NUL-teken in zit, en twee afzonderlijke bugs laten de TLS-hostnaamcontrole omzeilen, één via een IP-adres geschreven in volledige-breedte cijfers en één wanneer een hostnaam losjes naar een IP-adres resolveert. Verder lekt een keep-alive-socket soms een response die al vóór het eigenlijke verzoek was geschreven, cachet Node.js de uitkomst van crypto.randomUUID() en randomInt() onbedoeld mee in snapshots en Single Executable Applications waardoor processen dezelfde waarden herhalen, en zijn er twee omzeilingen van het Permission Model: één via een te ruime wildcard-rechtencontrole en één via fs.realpathSync. Ook zijn afhankelijkheden zoals c-ares, OpenSSL, SQLite, Undici en het eMudhra-CA-certificaat bijgewerkt.

Node.js benadrukt dat releaselijnen die al end-of-life zijn, met deze ronde niet meer worden gepatcht. Beheerders die nog op zo’n verouderde lijn draaien, moeten dus niet alleen updaten maar ook overstappen naar een ondersteunde versie, eventueel met commerciële ondersteuning via OpenJS-partners.

Voor Nederlandse bedrijven en ontwikkelteams die Node.js in productie draaien is dit een update om niet op de lange baan te schuiven. Controleer met node -v welke versie er draait en werk bij naar v22.23.4, v24.22.1 of v26.12.1, afhankelijk van de gebruikte lijn. Besteed daarbij extra aandacht aan diensten die ongecontroleerde, externe input decomprimeren, zoals uploadformulieren of API’s die Brotli-gecomprimeerde responses accepteren, want dat is precies het scenario waarin CVE-2026-111497 het grootste risico vormt.

Update 23 oktober: Onderzoekers van Imperva demonstreerden inmiddels een werkende exploit voor CVE-2026-111497, door hen “Node2Shell” gedoopt. Op de officiële, ongepatchte Node.js 24.22.0-image voor Linux arm64 lieten ze met speciaal geprepareerde Brotli-data willekeurige code uitvoeren, zowel via Express-requestbodies als via Node’s eigen fetch()-functie bij het inlezen van een Brotli-gecomprimeerd antwoord. Dat bevestigt dat het lek niet alleen theoretisch is, maar op een standaardinstallatie daadwerkelijk tot codeuitvoering leidt. Op de gepatchte versie 24.22.1 werkte dezelfde data niet meer: de decoder stopt dan met een foutmelding. Controleer ook containerimages en andere artefacten die een eigen Node.js-binary meeleveren, want die missen beheerders vaak bij een gewone pakketinventarisatie.

Update 27 oktober: CISA bevestigde dat CVE-2026-111497 nu daadwerkelijk actief wordt misbruikt en voegde het lek toe aan zijn Known Exploited Vulnerabilities-catalogus. Amerikaanse federale instanties moeten voor 10 november patchen. CISA herhaalt dat het lek niet beperkt is tot Node.js, maar ook andere HTTP-servers en -clients treft die een kwetsbare Brotli-implementatie gebruiken, zoals eerder al bleek uit de .NET- en PHP-Windows-varianten van dit lek. Na het patchen is het belangrijk om getroffen processen te herstarten en containerimages opnieuw te bouwen en uit te rollen; wie nog niet kan patchen, kan Brotli-gecomprimeerde verzoeken tijdelijk blokkeren bij de proxy of firewall, of Brotli-decodering uitschakelen.

Bron: The Hacker News en BleepingComputer

Wat betekent dit voor jouw bedrijf?

Draait uw Node.js-omgeving nog op een oudere versie dan 22.23.4, 24.22.1 of 26.12.1? Update dan gericht de processen die externe, onvertrouwde data decomprimeren, zoals uploads of API's met Brotli-compressie, als eerste prioriteit.

Beveiligingscontent geverifieerd door Fortivox SecurityNederlandse cybersecurity-specialist voor het MKB — fortivoxsecurity.nl

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.