Sikkerhedsadvarsel · Høj
Node.js: Fejl i HTTP/2 og HTTPS lader klienter crashe servere og læse andre brugeres data
· 5 minutters læsning · Centoculus Security Team
Kendt siden
Berørt: Node.js 22.x før 22.23.5, 24.x før 24.22.3, 26.x før 26.13.1. Linjer, der har nået end-of-life, som 20.x og 25.x, er også berørt og får ingen rettelse.
Hvad er der sket
Den 11. november 2026 udgav Node.js-projektet sikkerhedsopdateringer til sine tre understøttede udgivelseslinjer. De rettede versioner er 22.23.5, 24.22.3 og 26.13.1. De retter 16 sårbarheder i selve Node.js, og syv af dem er vurderet som høje. Udgivelserne opdaterer også de medfølgende afhængigheder llhttp (22.x, 24.x, 26.x), undici (24.x, 26.x) og sqlite (22.x, 24.x).
De vigtigste problemer findes i den serverkode, som Node.js selv leverer til HTTP/2, HTTPS og TLS:
- Servercrash i HTTP/2 (24.x og 26.x): enhver uautentificeret klient kan få Node.js-processen til at stoppe. Serveren behøver kun standardopsætningen for HTTP/2 og en handler, der svarer, før forespørgslens body er nået helt frem. Projektet kalder denne adfærd typisk. Angrebet virker over TLS og over ukrypterede forbindelser.
- Hukommelseslæk i HTTP/2 (alle tre linjer): en server kan sende dele af sin hukommelse til en klient, herunder svar beregnet til andre forbindelser. Fra 24.22.0 og 26.9.0 kan en klient udløse dette på egen hånd. På 22.x og ældre 24.x- og 26.x-builds kan det ske, når serveren lukker en stream midt i et svar, for eksempel efter en inaktivitets-timeout.
- Hukommelseslæk i HTTPS (alle tre linjer): en uautentificeret klient kan læse hukommelse fra andre forbindelser, "including TLS private keys and other users' requests", ifølge projektet. Det kræver en handler, der kalder
res.flushHeaders(), før forespørgslens body er afsluttet, og senere kalderres.end()med data. For at læse den lækkede hukommelse skal angriberen også have en rute, der sender en request body tilbage eller gemmer den. - Ressourceudmattelse i HTTP/2 (alle tre linjer): en klient kan få enhver HTTP/2-server med standardopsætning til permanent at holde på hukommelse og file descriptors.
- Filservering i HTTP/2 (24.x og 26.x): en klient kan ødelægge serverens hukommelse, når serveren leverer filer med
stream.respondWithFile()ellerstream.respondWithFD(). På alle tre linjer kan afbrydelse af sådanne downloads desuden crashe serveren (vurderet som medium). - Servercrash i TLS (24.x og 26.x): en klient kan crashe en TLS-server, der bruger hooks som
SNICallback,OCSPRequest,newSessionellerresumeSession, ellerserver.addContext(). - Omgåelse af klientcertifikat i TLS (alle tre linjer): nogle servere anvender strengere regler for klientcertifikater på bestemte hostnames. På sådanne servere kan en klient, der er godkendt til et andet hostname, skifte til et strengere under TLS 1.2-genforhandling uden at opfylde dets regler.
Sikkerhedsmeddelelsen rapporterer ingen angreb, der udnytter disse fejl.
Hvem er berørt
- Servere med Node.js 22.x før 22.23.5, 24.x før 24.22.3 eller 26.x før 26.13.1.
- Linjer, der har nået end-of-life, herunder 20.x og 25.x, får ingen rettelse i denne udgivelse. Projektet skriver, at sådanne versioner altid er berørt.
- De alvorlige serverproblemer har kun betydning, hvor en Node.js-proces selv accepterer HTTP/2-, HTTPS- eller TLS-forbindelser. Eksempler er de indbyggede moduler
node:http2,node:httpsellernode:tls, eller frameworks, der bruger dem til at afslutte TLS eller HTTP/2. - Almindelige HTTP-servere bygget med
node:httper ikke berørt af hukommelseslækket i HTTPS. - Crashet i HTTP/2 rammer kun linjerne 24.x og 26.x, ikke 22.x.
Du er langt mindre udsat, hvis en reverse proxy som nginx, Apache, HAProxy eller en load balancer afslutter TLS og HTTP/2, og Node.js kun modtager almindelig HTTP/1.1 fra den. Du bør stadig opdatere, fordi udgivelsen også indeholder andre rettelser og opdaterede afhængigheder.
Hvad du skal gøre nu
- Find alle Node.js-installationer. Husk systempakker, versionsmanagere (nvm, n, Volta), Docker-images, CI-runnere og hostingpaneler, der leverer deres egen Node.js.
- Opdater til den rettede version af din linje: 22.23.5, 24.22.3 eller 26.13.1. Hvis du bruger distributions- eller leverandørpakker (for eksempel NodeSource eller din Linux-distribution), skal du installere opdateringen, så snart din pakkekilde udbyder disse versioner.
- Forlad end-of-life-versioner. Kører du stadig 20.x, 25.x eller ældre, skal du opgradere til en understøttet linje. Sikkerhedsmeddelelsen nævner ingen workaround til servere, der ikke kan opdateres.
- Genopbyg container-images med et opdateret Node.js-baseimage, og udrul dem igen. Opdatering af værten alene ændrer ikke Node.js inde i containerne.
- Genstart alle Node.js-processer (systemd-units, PM2, Docker-containere osv.), så den nye runtime indlæses. Kontroller derefter, at dine applikationer svarer normalt.
- Overvej at udskifte hemmeligheder, hvis du har været udsat. Sikkerhedsmeddelelsen siger ikke, om servere, der opfyldte betingelserne for hukommelseslækket i HTTPS, bør udskifte TLS-nøgler eller andre hemmeligheder. Hvis en af dine Node.js HTTPS-servere opfyldte disse betingelser og var tilgængelig fra internettet, bør du overveje at forny dens TLS-certifikat og nøgle.
Sådan tjekker du, om du er berørt
- Kør
node -vpå hver server og inde i hver container (docker exec <container> node -v). Versioner under 22.23.5, 24.22.3 eller 26.13.1 i deres linje, eller enhver end-of-life-linje som 20.x eller 25.x, er berørt. - Med PM2 viser
pm2 listogpm2 show <app>, hvilken Node.js-binær og version hver app bruger. - Tjek, om dine applikationer selv afslutter HTTP/2 eller TLS i Node.js: søg i koden efter
http2.createSecureServer,http2.createServer,https.createServer,tls.createServer,respondWithFile,respondWithFD,SNICallbackogaddContext. - Tjek din procesmanager og dine systemlogs for uventede Node.js-genstarter eller -crashes. Gentagne nedbrud i en HTTP/2-server kan tyde på forsøg på at udløse crashet.
Kilder
Relaterede indlæg
Advarsler ·
Citrix NetScaler ADC og Gateway: kritiske hukommelsesfejl tillader denial of service (CVE-2026-120868)
Citrix har rettet ni kritiske hukommelsesfejl i NetScaler ADC og NetScaler Gateway, som kan føre til denial of service. CVE-2026-120868 påvirker alle installationer. Opdater til 14.1-73.57, 13.1-64.39 eller de tilsvarende FIPS-builds.
Advarsler ·
PostgreSQL CVE-2026-6460: databrugere, der kan oprette objekter, kan køre kode på serveren
PostgreSQL 18.7, 17.12, 16.16, 15.20 og 14.25 retter CVE-2026-6460 og 51 andre fejl. En databruger, der kan oprette objekter, kan køre kode som operativsystembrugeren, der kører PostgreSQL. Opdater serveren og dine C-udvidelser samtidig.
Advarsler ·
Mittwald-hosting angrebet via MCP-server: admintjenester offline, kunder bør kontrollere
Webhosteren Mittwald er i nødtilstand efter et angreb via en MCP-server. Kundernes admintjenester er slukket. Hold dig til officielle opdateringer og gør dig klar til at kontrollere dine konti og websites.