Biztonsági riasztás · Magas
Node.js: HTTP/2- és HTTPS-hibák miatt a kliensek összeomlaszthatják a szervereket és más felhasználók adatait olvashatják
· 6 perc olvasás · Centoculus Security Team
Ismert óta
Érintett: Node.js 22.x a 22.23.5 előtt, 24.x a 24.22.3 előtt, 26.x a 26.13.1 előtt. A támogatás nélküli ágak, például a 20.x és 25.x, szintén érintettek, és nem kapnak javítást.
Mi történt
- november 11-én a Node.js projekt biztonsági kiadásokat tett közzé a három támogatott kiadási ágához. A javított verziók 22.23.5, 24.22.3 és 26.13.1. Ezek 16 sebezhetőséget javítanak a Node.js-ben, ebből hetet magas kockázatúnak minősítettek. A kiadások frissítik a mellékelt függőségeket is: llhttp (22.x, 24.x, 26.x), undici (24.x, 26.x) és sqlite (22.x, 24.x).
A legfontosabb problémák a Node.js saját kiszolgálókódjában vannak, amely a HTTP/2, HTTPS és TLS támogatását biztosítja:
- HTTP/2 szerver-összeomlás (24.x és 26.x): bármely hitelesítés nélküli kliens leállíthatja a Node.js folyamatot. A szervernek elegendő az alapértelmezett HTTP/2 beállítás és egy olyan kezelő, amely a kérés törzsének teljes beérkezése előtt válaszol. A projekt szerint ez a viselkedés tipikus. A támadás TLS-en és titkosítatlan kapcsolaton keresztül is működik.
- HTTP/2 memóriaszivárgás (mindhárom ág): a szerver memóriadarabokat küldhet a kliensnek, beleértve más kapcsolatoknak szánt válaszokat is. A 24.22.0-tól és a 26.9.0-tól kezdve a kliens ezt önállóan is kiválthatja. A 22.x és a régebbi 24.x, 26.x buildeken akkor fordulhat elő, ha a szerver válasz közben, például tétlenségi időtúllépés után, lezár egy streamet.
- HTTPS memóriaszivárgás (mindhárom ág): egy hitelesítés nélküli kliens a projekt szerint más kapcsolatok memóriáját olvashatja, „beleértve a TLS privát kulcsokat és más felhasználók kéréseit”. Ehhez olyan kezelő kell, amely a kérés törzsének befejezése előtt meghívja a
res.flushHeaders()függvényt, majd később adattal hívja ares.end()függvényt. A kiszivárgott memória olvasásához a támadónak olyan útvonal is kell, amely visszaküld vagy eltárol egy kérés törzset. - HTTP/2 erőforás-kimerítés (mindhárom ág): kliens úgy is elérheti, hogy bármely alapértelmezett HTTP/2 szerver tartósan memóriát és fájlleírókat foglaljon le.
- HTTP/2 fájlkiszolgálás (24.x és 26.x): a kliens megsérthetheti a szerver memóriáját, ha a szerver a
stream.respondWithFile()vagy astream.respondWithFD()függvénnyel szolgál ki fájlokat. Mindhárom ágon az ilyen letöltések megszakítása összeomlaszthatja a szervert (közepes kockázatúnak minősítve). - TLS szerver-összeomlás (24.x és 26.x): a kliens összeomlaszthat olyan TLS szervert, amely a
SNICallback,OCSPRequest,newSessionvagyresumeSessionkezelőket, illetve aserver.addContext()függvényt használja. - TLS kliens-tanúsítvány megkerülése (mindhárom ág): egyes szerverek szigorúbb kliens-tanúsítvány szabályokat alkalmaznak bizonyos hosztnevekre. Ilyen szervereken egy másik hosztnévre jóváhagyott kliens TLS 1.2 újratárgyalás során át tud váltani egy szigorúbb hosztnévre anélkül, hogy annak szabályainak megfelelne.
A tájékoztató nem említ ezeknek a hibáknak a kihasználására irányuló támadásokat.
Kiket érint
- A 22.x a 22.23.5 előtt, a 24.x a 24.22.3 előtt vagy a 26.x a 26.13.1 előtt verziójú Node.js-t futtató szerverek.
- A támogatás nélküli ágak, köztük a 20.x és 25.x, ebben a kiadásban nem kapnak javítást. A projekt szerint ezek a verziók mindig érintettek.
- A súlyos szerveroldali problémák csak ott számítanak, ahol a Node.js-folyamat maga fogad HTTP/2, HTTPS vagy TLS kapcsolatokat. Ilyen például a beépített
node:http2,node:httpsvagynode:tlsmodul, vagy olyan keretrendszer, amely ezekkel zárja le a TLS-t vagy a HTTP/2-t. - A
node:httpmodullal épített sima HTTP szervereket a HTTPS memóriaszivárgás nem érinti. - A HTTP/2 összeomlás csak a 24.x és 26.x ágakat érinti, a 22.x-et nem.
Sokkal kisebb a kitettség, ha a TLS-t és a HTTP/2-t olyan fordított proxy zárja le, mint az nginx, az Apache, a HAProxy vagy egy terheléselosztó, és a Node.js ettől csak sima HTTP/1.1 forgalmat kap. Ennek ellenére érdemes frissíteni, mert a kiadás más javításokat és függőségfrissítéseket is tartalmaz.
Mit tegyen most
- Keresse meg az összes Node.js telepítést. Gondoljon a rendszercsomagokra, a verziókezelőkre (nvm, n, Volta), a Docker-image-ekre, a CI-futtatókra és a tárhelypanelekre, amelyek saját Node.js-t szállítanak.
- Frissítsen az ágának javított verziójára: 22.23.5, 24.22.3 vagy 26.13.1. Ha disztribúciós vagy szállítói csomagokat használ (például NodeSource-t vagy a Linux-disztribúcióját), telepítse a frissítést, amint a csomagforrás elérhetővé teszi ezeket a verziókat.
- Hagyja el a támogatás nélküli verziókat. Ha még 20.x, 25.x vagy régebbi verziót futtat, frissítsen támogatott ágra. A tájékoztató nem ad megkerülő megoldást azoknak a szervereknek, amelyek nem frissíthetők.
- Építse újra a konténer-image-eket frissített Node.js alapimage-dzsel, majd telepítse újra őket. A gazdagép frissítése önmagában nem változtatja meg a konténerekben lévő Node.js-t.
- Indítsa újra az összes Node.js folyamatot (systemd egységek, PM2, Docker-konténerek stb.), hogy az új futtatókörnyezet betöltődjön. Utána ellenőrizze, hogy az alkalmazások normálisan válaszolnak-e.
- Fontolja meg a titkok cseréjét, ha érintett volt. A tájékoztató nem mondja meg, hogy a HTTPS memóriaszivárgás feltételeinek megfelelő szervereknek ki kell-e cserélniük a TLS-kulcsokat vagy más titkokat. Ha az Önök egyik Node.js HTTPS szervere megfelelt ezeknek a feltételeknek és internetről elérhető volt, fontolja meg a TLS-tanúsítvány és -kulcs megújítását.
Hogyan ellenőrizheti, hogy érintett-e
- Futtassa a
node -vparancsot minden szerveren, és minden konténeren belül (docker exec <container> node -v). Azok a verziók, amelyek az águkon belül a 22.23.5, 24.22.3 vagy 26.13.1 előttiek, illetve a 20.x vagy 25.x támogatás nélküli ágak, érintettek. - PM2 esetén a
pm2 listés apm2 show <app>megmutatja, melyik Node.js binárist és verziót használja az egyes alkalmazás. - Ellenőrizze, hogy az alkalmazásai maguk zárják-e le a HTTP/2-t vagy a TLS-t a Node.js-ben: keressen a kódban a
http2.createSecureServer,http2.createServer,https.createServer,tls.createServer,respondWithFile,respondWithFD,SNICallbackésaddContextkifejezésekre. - Nézze át a folyamatkezelő és a rendszernaplók bejegyzéseit váratlan Node.js újraindulások vagy összeomlások után. Egy HTTP/2 szerver ismétlődő leállása arra utalhat, hogy valaki az összeomlást próbálja kiváltani.
Források
Kapcsolódó bejegyzések
Riasztások ·
Citrix NetScaler ADC és Gateway: kritikus memóriahibák szolgáltatásmegtagadást tesznek lehetővé (CVE-2026-120868)
A Citrix kilenc kritikus memóriahibát javított a NetScaler ADC-ben és a NetScaler Gateway-ben, amelyek szolgáltatásmegtagadáshoz vezethetnek. A CVE-2026-120868 minden telepítést érint. Frissítsen a 14.1-73.57, a 13.1-64.39 vagy a megfelelő FIPS-verziókra.
Riasztások ·
PostgreSQL CVE-2026-6460: adatbázis-felhasználók, akik objektumot hozhatnak létre, kódot futtathatnak a szerveren
A PostgreSQL 18.7, 17.12, 16.16, 15.20 és 14.25 verzió javítja a CVE-2026-6460 sebezhetőséget és további 51 hibát. Az az adatbázis-felhasználó, aki objektumot hozhat létre, kódot futtathat a PostgreSQL-t futtató operációs rendszer-felhasználó jogosultságával. Kérjük, a szervert és a C nyelvű bő...
Riasztások ·
Mittwald tárhely elleni támadás MCP-szerveren keresztül: az adminisztrációs szolgáltatások offline állapotban, az ügyfeleknek ellenőrzést javasolt végezniük
A Mittwald webtárhely-szolgáltató egy MCP-szerveren keresztül érte támadás után vészüzemmódban működik. Az ügyfeleknek szánt adminisztrációs szolgáltatásokat kikapcsolták. Az ügyfelek kizárólag hivatalos tájékoztatásra támaszkodjanak, és készüljenek fel fiókjaik és weboldalaik ellenőrzésére.