Sigurnosno upozorenje · Visoka
Node.js: HTTP/2 i HTTPS propusti omogućuju klijentima rušenje poslužitelja i čitanje podataka drugih korisnika
· Vrijeme čitanja: 5 min · Centoculus Security Team
Poznato od
Pogođeno: Node.js 22.x prije 22.23.5, 24.x prije 24.22.3, 26.x prije 26.13.1. Verzije kraja životnog vijeka, poput 20.x i 25.x, također su ranjive i ne dobivaju ispravak.
Što se dogodilo
Dana 11. studenoga 2026. projekt Node.js objavio je sigurnosna izdanja za svoje tri podržane linije izdanja. Ispravljene verzije su 22.23.5, 24.22.3 i 26.13.1. Ispravljaju 16 ranjivosti u samom Node.js-u, od kojih je sedam ocijenjeno kao visoko rizično. Izdanja također ažuriraju ugrađene ovisnosti llhttp (22.x, 24.x, 26.x), undici (24.x, 26.x) i sqlite (22.x, 24.x).
Najvažniji problemi nalaze se u poslužiteljskom kodu koji Node.js sam pruža za HTTP/2, HTTPS i TLS:
- Rušenje HTTP/2 poslužitelja (24.x i 26.x): bilo koji neautentificirani klijent može zaustaviti proces Node.js-a. Poslužitelju je dovoljna zadana HTTP/2 postavka i rukovatelj koji odgovara prije nego što je tijelo zahtjeva u potpunosti stiglo. Projekt ovo ponašanje opisuje kao tipično. Napad funkcionira preko TLS-a i nešifriranih veza.
- Otkrivanje memorije HTTP/2 (sve tri linije): poslužitelj klijentu može poslati dijelove svoje memorije, uključujući odgovore namijenjene drugim vezama. Od verzija 24.22.0 i 26.9.0 nadalje klijent to može sam pokrenuti. Kod verzija 22.x te starijih 24.x i 26.x izdanja to se može dogoditi kada poslužitelj prekine tok usred odgovora, primjerice nakon isteka vremena mirovanja.
- Otkrivanje memorije HTTPS-a (sve tri linije): neautentificirani klijent može čitati memoriju drugih veza, „uključujući TLS privatne ključeve i zahtjeve drugih korisnika“, prema navodima projekta. Za to je potreban rukovatelj koji poziva
res.flushHeaders()prije nego što završi tijelo zahtjeva, a zatim kasnije pozivares.end()s podacima. Za čitanje procurjele memorije napadaču je potrebna i ruta koja vraća ili pohranjuje tijelo zahtjeva. - Iscrpljivanje resursa HTTP/2 (sve tri linije): klijent može natjerati bilo koji zadani HTTP/2 poslužitelj da trajno zadržava memoriju i deskriptore datoteka.
- Posluživanje datoteka putem HTTP/2 (24.x i 26.x): klijent može oštetiti memoriju poslužitelja kada poslužitelj posprema datoteke pomoću
stream.respondWithFile()ilistream.respondWithFD(). Na sve tri linije otkazivanje takvih preuzimanja također može srušiti poslužitelj (ocijenjeno kao srednje rizično). - Rušenje TLS poslužitelja (24.x i 26.x): klijent može srušiti TLS poslužitelj koji koristi kuke
SNICallback,OCSPRequest,newSessioniliresumeSession, odnosnoserver.addContext(). - Zaobilaženje provjere klijentskih certifikata u TLS-u (sve tri linije): neki poslužitelji primjenjuju strože pravila za klijentske certifikate na određena imena hostova. Na takvim poslužiteljima klijent koji je odobren za drugi host može se tijekom ponovnog pregovaranja TLS 1.2 prebaciti na stroži host, a da pritom ne ispuni njegova pravila.
Izvješće ne navodi nikakve napade koji koriste ove propuste.
Tko je pogođen
- Poslužitelji na kojima radi Node.js 22.x prije 22.23.5, 24.x prije 24.22.3 ili 26.x prije 26.13.1.
- Linije kraja životnog vijeka, uključujući 20.x i 25.x, ne dobivaju ispravak u ovom izdanju. Projekt navodi da su takve verzije uvijek ranjive.
- Ozbiljni poslužiteljski problemi relevantni su samo tamo gdje proces Node.js-a sam prihvaća HTTP/2, HTTPS ili TLS veze. Primjeri su ugrađeni moduli
node:http2,node:httpsilinode:tlste okviri koji ih koriste za završetak TLS-a ili HTTP/2 veze. - Obični HTTP poslužitelji izgrađeni pomoću
node:httpnisu pogođeni otkrivanjem memorije HTTPS-a. - Rušenje HTTP/2 poslužitelja pogađa samo linije 24.x i 26.x, a ne 22.x.
Izloženost je znatno manja ako reverzni proxy, poput nginxa, Apachea, HAProxyja ili load balancera, završava TLS i HTTP/2 veze, a Node.js od njega prima samo običan HTTP/1.1. Ipak biste trebali nadograditi, jer izdanje sadrži i druge ispravke i ažuriranja ovisnosti.
Što učiniti sada
- Pronađite sve instalacije Node.js-a. Ne zaboravite sistemske pakete, upravitelje verzija (nvm, n, Volta), Docker slike, CI izvršitelje i hosting panele koji dolaze s vlastitim Node.js-om.
- Nadogradite na ispravljenu verziju svoje linije: 22.23.5, 24.22.3 ili 26.13.1. Ako koristite distribucijske ili proizvođačke pakete (primjerice NodeSource ili paket vaše Linux distribucije), instalirajte nadogradnju čim vaš izvor paketa bude nudio te verzije.
- Prijeđite s verzija kraja životnog vijeka. Ako još koristite 20.x, 25.x ili starije, nadogradite na podržanu liniju. Izvješće ne navodi nikakvo zaobilazno rješenje za poslužitelje koje nije moguće nadograditi.
- Ponovno izgradite kontejnerske slike s ažuriranom Node.js baznom slikom i ponovno ih rasporedite. Samo ažuriranje hosta ne mijenja Node.js unutar kontejnera.
- Ponovno pokrenite sve procese Node.js-a (systemd jedinice, PM2, Docker kontejnere itd.) kako bi se učitalo novo izvršno okruženje. Zatim provjerite odgovaraju li vaše aplikacije normalno.
- Razmotrite zamjenu tajni ako ste bili izloženi. Izvješće ne navodi trebaju li poslužitelji koji su ispunjavali uvjete za otkrivanje memorije HTTPS-a zamijeniti TLS ključeve ili druge tajne. Ako je vaš HTTPS poslužitelj na Node.js-u ispunjavao te uvjete i bio dostupan s interneta, razmotrite obnovu njegovog TLS certifikata i ključa.
Kako provjeriti jeste li pogođeni
- Pokrenite
node -vna svakom poslužitelju i unutar svakog kontejnera (docker exec <container> node -v). Verzije niže od 22.23.5, 24.22.3 ili 26.13.1 u svojoj liniji, odnosno bilo koja linija kraja životnog vijeka, poput 20.x ili 25.x, su ranjive. - S PM2-om naredbe
pm2 listipm2 show <app>pokazuju koju Node.js izvršnu datoteku i verziju koristi svaka aplikacija. - Provjerite terminiraju li vaše aplikacije HTTP/2 ili TLS same u Node.js-u: pretražite kod za
http2.createSecureServer,http2.createServer,https.createServer,tls.createServer,respondWithFile,respondWithFD,SNICallbackiaddContext. - Provjerite upravitelj procesa i sistemske zapise za neočekivana ponovna pokretanja ili rušenja Node.js-a. Ponovljeni prekidi HTTP/2 poslužitelja mogu ukazivati na pokušaje izazivanja rušenja.
Izvori
Srodni članci
Upozorenja ·
Citrix NetScaler ADC i Gateway: kritični propusti u memoriji omogućuju uskraćivanje usluge (CVE-2026-120868)
Citrix je ispravio devet kritičnih propusta u memoriji u NetScaler ADC-u i NetScaler Gatewayu koji mogu dovesti do uskraćivanja usluge. CVE-2026-120868 utječe na sve instalacije. Ažurirajte na 14.1-73.57, 13.1-64.39 ili odgovarajuće FIPS verzije.
Upozorenja ·
PostgreSQL CVE-2026-6460: korisnici baze podataka koji mogu stvarati objekte mogu pokrenuti kod na poslužitelju
PostgreSQL 18.7, 17.12, 16.16, 15.20 i 14.25 ispravljaju CVE-2026-6460 i 51 drugu ranjivost. Korisnik baze podataka koji može stvarati objekte može pokrenuti kod kao operacijski sustav korisnik koji pokreće PostgreSQL. Nadogradite poslužitelj i C proširenja zajedno.
Upozorenja ·
Mittwald hosting napadnut preko MCP servera: administratorske usluge offline, korisnici bi trebali provjeriti
Web hosting tvrtka Mittwald nalazi se u stanju izvanredne situacije nakon napada preko MCP servera. Njezine administratorske usluge za korisnike isključene su. Vi biste se trebali oslanjati samo na službena obavještenja i pripremiti se za provjeru svojih računa i web stranica.