Shayan

ENSV

Kontakta mig

Node2Shell och npm-attackerna: det här ska du kontrollera i Node.js

Av · Publicerad · 2 min läsning

Snabbt svar

Node2Shell är CVE-2026-111497, ett hål i Brotli-avkodaren som följer med Node.js. Det kan krascha en app, läcka minne eller köra kod. Node.js rättade det den 21 oktober 2026 i version 22.23.4, 24.22.1 och 26.12.1, och CISA lade till det på sin lista över utnyttjade hål den 27 oktober. Din risk beror på om appen packar upp Brotli-data från okända källor.

Lärdomar av detta inslag4 punkter ▾
  • Uppdatera Node.js förstGå till 22.23.4, 24.22.1 eller 26.12.1 eller nyare. Akamai säger att det är enda fullständiga lösningen, och gamla versioner får ingen rättning.
  • Hitta det som packar upp BrotliAppar som packar upp okänd Brotli-data är utsatta. Akamai nämner inbyggda fetch() och Express 5 som ställen att börja med.
  • Vänta med nya paketInstallera från låsfiler och vänta några dagar med nya versioner, som Safeguard rekommenderar efter oktobers våg.
  • Se en träff som ett intrångAikido säger att en maskin som kört den kapade tensorlake-versionen ska räknas som hackad. Byt alla hemligheter som fanns på den.

Vad som hände

Den 21 oktober rättade Node.js tio säkerhetshål, varav fyra klassades som höga. Det som fick ett namn var CVE-2026-111497. Felaktigt komprimerad data kan skriva utanför en liten buffert i Brotli-avkodaren, och då kan appen krascha, läcka minne eller köra angriparens kod.

Node.js klassar hålet som högt, medan Akamai anger CVSS 9,2, vilket är kritiskt. CISA lade till det i sin katalog över utnyttjade hål den 27 oktober, med en frist för amerikanska myndigheter till 10 november.

Vilka som är utsatta

Långt ifrån alla Node.js-appar. Hålet kräver en app som packar upp Brotli-data som en angripare kan styra. Akamai nämner tre vanliga vägar: direkt användning av Brotli-funktionerna i zlib, inbyggda fetch(), som packar upp Brotli-svar av sig själv, och Express 5 med body-parser 2, som packar upp inkommande data som standard. En vanlig HTTP-server i Node.js packar inte upp inkommande Brotli av sig själv.

Alla versioner med stöd var drabbade. Akamai säger att 61 procent av näten de övervakar kör en drabbad version, och att gamla versioner som 20.x inte får någon rättning.

Npm-attackerna samma månad

Den 8 oktober publicerades en kapad version av npm-paketet tensorlake, 0.5.144. Aikido beskriver en variant av masken Shai-Hulud som stjäl molnnycklar, SSH-nycklar, inloggningar i webbläsaren och kryptoplånböcker så fort paketet installeras.

Den var en av många. Safeguard räknade 112 varningar om skadlig kod i GitHubs databas mellan 26 och 28 oktober, för 96 npm-paket och 10 PyPI-paket.

Vad det betyder för din sajt

En Node.js-app är mest andras kod. Node-versionen, ramverket och hundratals paket körs med samma rättigheter som din egen kod, så ett hål i något av dem är ett hål i din app.

Tre saker att kontrollera den här veckan:

  • Kör node -v överallt där appen körs, även i containrar och byggservrar.
  • Sök i koden efter Brotli, fetch() mot externa tjänster och Express 5.
  • Använd npm ci i byggen, och håll hemligheter borta från maskiner som installerar paket.
Kontakta mig

Källor

  1. Node.js (öppnas i ny flik)
  2. CISA Known Exploited Vulnerabilities (öppnas i ny flik)
  3. Akamai (öppnas i ny flik)
  4. Aikido (öppnas i ny flik)
  5. Safeguard (öppnas i ny flik)

Fler hack

  1. Binance

    6,3 miljarder dollar

    Det mesta flyttades på cirka 20 minuter. Det kan ha börjat med en laptop.

  2. PHP2Shell

    7 av 10 webbplatser

    Två kritiska hål i PHP utnyttjas nu, bekräftar CISA. Rättade 21 oktober.

  3. Danmark

    8,8 miljoner personer

    Namn, adresser och personnummer, via ett företags legitima åtkomst.