Varnostno opozorilo · Visoka
Node.js: napake v HTTP/2 in HTTPS omogočajo odjemalcem zrušitev strežnikov in branje podatkov drugih uporabnikov
· Branje: 5 min · Centoculus Security Team
Znano od
Prizadeto: Node.js 22.x pred 22.23.5, 24.x pred 24.22.3, 26.x pred 26.13.1. Prizadete so tudi veje, ki niso več podprte, na primer 20.x in 25.x, zanje pa popravka ni.
Kaj se je zgodilo
Na 11. november 2026 je projekt Node.js objavil varnostne izdaje za svoje tri podprte veje. Popravljene različice so 22.23.5, 24.22.3 in 26.13.1. Odpravljajo 16 ranljivosti v samem Node.js, sedem od njih je ocenjenih kot visoko tveganje. Izdaje posodabljajo tudi vključene odvisnosti llhttp (22.x, 24.x, 26.x), undici (24.x, 26.x) in sqlite (22.x, 24.x).
Najpomembnejše težave so v strežniški kodi, ki jo Node.js sam ponuja za HTTP/2, HTTPS in TLS:
- Zrušitev strežnika HTTP/2 (24.x in 26.x): kateri koli neavtenticiran odjemalec lahko ustavi proces Node.js. Strežnik potrebuje le privzeto nastavitev HTTP/2 in obdelovalnik, ki odgovori, preden je telo zahteve v celoti prispelo. Projekt to vedenje opisuje kot tipično. Napad deluje prek TLS in tudi prek nešifriranih povezav.
- Razkritje pomnilnika HTTP/2 (vse tri veje): strežnik lahko odjemalcu pošlje dele svojega pomnilnika, vključno z odgovori, namenjenimi drugim povezavam. Od različic 24.22.0 in 26.9.0 naprej lahko to sproži odjemalec sam. Pri gradnjah 22.x ter starejših 24.x in 26.x se to zgodi, ko strežnik sredi odgovora zapre tok, na primer po poteku časovne omejitve neaktivnosti.
- Razkritje pomnilnika HTTPS (vse tri veje): neavtenticiran odjemalec lahko po navedbi projekta bere pomnilnik drugih povezav, „vključno z zasebnimi TLS ključi in zahtevami drugih uporabnikov“. Za to mora obdelovalnik klicati
res.flushHeaders(), preden se telo zahteve konča, nato pa kasnejeres.end()s podatki. Za branje uhajajočega pomnilnika napadalec potrebuje tudi pot, ki telo zahteve vrne ali shrani. - Izčrpavanje virov HTTP/2 (vse tri veje): odjemalec lahko pri katerem koli privzetem strežniku HTTP/2 doseže, da trajno zadrži pomnilnik in deskriptorje datotek.
- Strežba datotek HTTP/2 (24.x in 26.x): odjemalec lahko poškoduje pomnilnik strežnika, kadar ta datoteke streže z
stream.respondWithFile()alistream.respondWithFD(). Pri vseh treh vejah lahko preklic takih prenosov tudi zruši strežnik (ocenjeno kot srednje tveganje). - Zrušitev strežnika TLS (24.x in 26.x): odjemalec lahko zruši strežnik TLS, ki uporablja kljuke
SNICallback,OCSPRequest,newSessionaliresumeSessionaliserver.addContext(). - Obhod potrdil odjemalca pri TLS (vse tri veje): nekateri strežniki za določena imena gostiteljev uporabljajo strožja pravila za potrdila odjemalca. Na takih strežnikih lahko odjemalec, odobren za drugo ime gostitelja, med ponovnim pogajanjem TLS 1.2 preklopi na strožje ime, ne da bi izpolnil njegova pravila.
Varnostno obvestilo ne navaja napadov, ki bi izkoriščali te napake.
Kdo je prizadet
- Strežniki, ki uporabljajo Node.js 22.x pred 22.23.5, 24.x pred 24.22.3 ali 26.x pred 26.13.1.
- Veje, ki niso več podprte, vključno z 20.x in 25.x, v tej izdaji ne dobijo popravka. Projekt pravi, da so takšne različice vedno ranljive.
- Resne težave na strani strežnika vplivajo samo tam, kjer proces Node.js sam sprejema povezave HTTP/2, HTTPS ali TLS. Primeri so vgrajeni moduli
node:http2,node:httpsalinode:tlsali ogrodja, ki jih uporabljajo za končanje TLS ali HTTP/2. - Navadni strežniki HTTP, zgrajeni z
node:http, niso prizadeti zaradi razkritja pomnilnika HTTPS. - Zrušitev HTTP/2 prizadene samo veji 24.x in 26.x, ne pa 22.x.
Izpostavljenost je veliko manjša, če TLS in HTTP/2 končuje obratni posredniški strežnik, kot so nginx, Apache, HAProxy ali uravnatelj obremenitve, Node.js pa od njega prejema le navaden HTTP/1.1. Kljub temu posodobite, ker izdaja vsebuje tudi druge popravke in posodobitve odvisnosti.
Kaj storiti zdaj
- Poiščite vse namestitve Node.js. Ne pozabite na sistemske pakete, upravitelje različic (nvm, n, Volta), slike Docker, CI izvajalce in gostiteljske plošče, ki prinašajo lastni Node.js.
- Posodobite na popravljeno različico svoje veje: 22.23.5, 24.22.3 ali 26.13.1. Če uporabljate distribucijske ali dobaviteljeve pakete (na primer NodeSource ali paket vaše distribucije Linux), namestite posodobitev takoj, ko vir paketov ponudi te različice.
- Opustite različice, ki niso več podprte. Če še uporabljate 20.x, 25.x ali starejše, nadgradite na podprto vejo. Varnostno obvestilo ne navaja nobene rešitve za strežnike, ki se ne morejo posodobiti.
- Znova zgradite slike vsebnikov s posodobljeno osnovno sliko Node.js in jih ponovno namestite. Sama posodobitev gostitelja ne spremeni Node.js znotraj vsebnikov.
- Znova zaženite vse procese Node.js (enote systemd, PM2, vsebniki Docker itd.), da se naloži novo izvajalno okolje. Nato preverite, ali se vaše aplikacije odzivajo običajno.
- Razmislite o zamenjavi skrivnosti, če ste bili izpostavljeni. Varnostno obvestilo ne pove, ali naj strežniki, ki so izpolnjevali pogoje za razkritje pomnilnika HTTPS, zamenjajo TLS ključe ali druge skrivnosti. Če je bil vaš strežnik HTTPS, ki teče v Node.js, skladen s temi pogoji in dosegljiv z interneta, razmislite o obnovi njegovega potrdila in ključa TLS.
Kako preveriti, ali ste prizadeti
- Na vsakem strežniku in znotraj vsakega vsebnika zaženite
node -v(docker exec <container> node -v). Različice pod 22.23.5, 24.22.3 ali 26.13.1 v svoji veji ali katera koli veja, ki ni več podprta, na primer 20.x ali 25.x, so ranljive. - Pri PM2
pm2 listinpm2 show <app>pokažeta, kateri binarni Node.js in katero različico uporablja posamezna aplikacija. - Preverite, ali vaše aplikacije same končujejo HTTP/2 ali TLS v Node.js: v kodi poiščite
http2.createSecureServer,http2.createServer,https.createServer,tls.createServer,respondWithFile,respondWithFD,SNICallbackinaddContext. - V upravitelju procesov in sistemskih dnevnikih preverite nepričakovane ponovne zagone ali zrušitve Node.js. Ponavljajoče se prekinitve strežnika HTTP/2 lahko kažejo na poskuse sprožitve zrušitve.
Viri
Sorodne objave
Opozorila ·
Citrix NetScaler ADC in Gateway: kritične napake v pomnilniku omogočajo zavrnitev storitve (CVE-2026-120868)
Citrix je odpravil devet kritičnih napak v pomnilniku v NetScaler ADC in NetScaler Gateway, ki lahko vodijo do zavrnitve storitve. CVE-2026-120868 vpliva na vsako namestitev. Posodobite na 14.1-73.57, 13.1-64.39 ali ustrezne FIPS izdaje.
Opozorila ·
PostgreSQL CVE-2026-6460: uporabniki baze, ki lahko ustvarjajo objekte, lahko izvedejo kodo na strežniku
PostgreSQL 18.7, 17.12, 16.16, 15.20 in 14.25 odpravljajo CVE-2026-6460 in 51 drugih napak. Uporabnik baze, ki lahko ustvarja objekte, lahko izvede kodo kot operacijski sistemski uporabnik, ki zaganja PostgreSQL. Posodobite strežnik in razširitve v jeziku C hkrati.
Opozorila ·
Hosting ponudnika Mittwald napaden prek strežnika MCP: skrbniške storitve nedosegljive, stranke naj preverijo
Ponudnik spletnega gostovanja Mittwald je v načinu nujnega ukrepanja po napadu prek strežnika MCP. Njegove skrbniške storitve za stranke so izklopljene. Stranke naj se zanesejo le na uradne posodobitve in se pripravijo na pregled svojih računov in spletnih strani.