Bezpečnostní upozornění · Vysoká
Node.js: chyby v HTTP/2 a HTTPS umožňují klientům shodit servery a číst data jiných uživatelů
· 5 minut čtení · Centoculus Security Team
Známo od
Dotčené: Node.js 22.x před 22.23.5, 24.x před 24.22.3, 26.x před 26.13.1. Ohroženy jsou také větve ukončené podpory, například 20.x a 25.x, pro které žádná oprava nevychází.
Co se stalo
Dne 11. listopadu 2026 vydal projekt Node.js bezpečnostní verze pro své tři podporované řady. Opravené verze jsou 22.23.5, 24.22.3 a 26.13.1. Opravují 16 zranitelností v samotném Node.js, z nichž sedm je hodnoceno jako vysoké. Vydání také aktualizuje přiložené závislosti llhttp (22.x, 24.x, 26.x), undici (24.x, 26.x) a sqlite (22.x, 24.x).
Nejdůležitější problémy se týkají serverového kódu, který Node.js sám poskytuje pro HTTP/2, HTTPS a TLS:
- Pád serveru HTTP/2 (24.x a 26.x): libovolný neautentizovaný klient může způsobit zastavení procesu Node.js. Server potřebuje jen výchozí nastavení HTTP/2 a handler, který odpoví dříve, než je tělo požadavku plně přijato. Projekt toto chování označuje za typické. Útok funguje přes TLS i přes nešifrovaná spojení.
- Únik paměti v HTTP/2 (všechny tři řady): server může klientovi poslat části své paměti, včetně odpovědí určených pro jiná spojení. Od verzí 24.22.0 a 26.9.0 může klient tento stav vyvolat sám. U sestavení 22.x a starších verzí 24.x a 26.x může k němu dojít, když server ukončí stream uprostřed odpovědi, například po vypršení nečinnosti.
- Únik paměti v HTTPS (všechny tři řady): neautentizovaný klient může podle projektu číst paměť jiných spojení, „včetně privátních klíčů TLS a požadavků jiných uživatelů“. K tomu je třeba handler, který zavolá
res.flushHeaders()dříve, než skončí tělo požadavku, a později zavoláres.end()s daty. Aby útočník unikls paměť přečetl, potřebuje také trasu, která tělo požadavku vrátí zpět nebo uloží. - Vyčerpání zdrojů v HTTP/2 (všechny tři řady): klient může způsobit, že libovolný výchozí server HTTP/2 trvale drží paměť a deskriptory souborů.
- Posílání souborů přes HTTP/2 (24.x a 26.x): klient může poškodit paměť serveru, pokud server posílá soubory pomocí
stream.respondWithFile()nebostream.respondWithFD(). U všech tří řad může zrušení takových stahování také shodit server (hodnoceno jako střední). - Pád serveru TLS (24.x a 26.x): klient může shodit server TLS, který používá háčky
SNICallback,OCSPRequest,newSessionneboresumeSession, případněserver.addContext(). - Obejití kontroly certifikátů klienta v TLS (všechny tři řady): některé servery uplatňují přísnější pravidla pro certifikáty klientů u určitých názvů hostitelů. Na takových serverech se klient schválený pro jiný název hostitele může během přejednání TLS 1.2 přepnout na přísnější název, aniž by splnil jeho pravidla.
Zpráva o zranitelnosti neuvádí žádné útoky využívající tyto chyby.
Kdo je ohrožen
- Servery provozující Node.js 22.x před 22.23.5, 24.x před 24.22.3 nebo 26.x před 26.13.1.
- Větve ukončené podpory, včetně 20.x a 25.x, v tomto vydání opravu nedostanou. Projekt uvádí, že takové verze jsou vždy ohroženy.
- Závažné problémy na straně serveru se týkají pouze případů, kdy proces Node.js sám přijímá spojení HTTP/2, HTTPS nebo TLS. Příkladem jsou vestavěné moduly
node:http2,node:httpsnebonode:tls, případně frameworky, které je používají k ukončení TLS nebo HTTP/2. - Prosté HTTP servery postavené na
node:httpnejsou únikem paměti v HTTPS ohroženy. - Pád serveru HTTP/2 se týká pouze řad 24.x a 26.x, nikoli 22.x.
Vaše vystavení riziku je výrazně nižší, pokud TLS a HTTP/2 ukončuje reverzní proxy, například nginx, Apache, HAProxy nebo vyvažovač zátěže, a Node.js od ní dostává pouze prosté HTTP/1.1. I tak byste měli aktualizovat, protože vydání obsahuje také další opravy a aktualizace závislostí.
Co udělat hned
- Najděte všechny instalace Node.js. Nezapomeňte na systémové balíčky, správce verzí (nvm, n, Volta), obrazy Docker, CI runnery a hostingové panely, které dodávají vlastní Node.js.
- Aktualizujte na opravenou verzi své řady: 22.23.5, 24.22.3 nebo 26.13.1. Pokud používáte balíčky distribuce nebo dodavatele (například NodeSource nebo balíčky vaší linuxové distribuce), nainstalujte aktualizaci, jakmile váš zdroj balíčků tyto verze nabídne.
- Přejděte z verzí ukončené podpory. Pokud stále provozujete 20.x, 25.x nebo starší, přejděte na podporovanou řadu. Zpráva neuvádí žádné obejití pro servery, které nelze aktualizovat.
- Znovu sestavte kontejnerové obrazy s aktualizovaným základním obrazem Node.js a znovu je nasaďte. Samotná aktualizace hostitele nezmění Node.js uvnitř kontejnerů.
- Restartujte všechny procesy Node.js (jednotky systemd, PM2, kontejnery Docker apod.), aby se načtlo nové běhové prostředí. Poté ověřte, že vaše aplikace reagují normálně.
- Zvažte obnovu tajemství, pokud jste byli vystaveni riziku. Zpráva neuvádí, zda by servery, které splnily podmínky úniku paměti v HTTPS, měly vyměnit klíče TLS nebo jiná tajemství. Pokud byl váš HTTPS server postavený na Node.js těmto podmínkám vystaven a byl dostupný z internetu, zvažte obnovu jeho certifikátu TLS a klíče.
Jak zjistit, zda jste ohroženi
- Spusťte
node -vna každém serveru a uvnitř každého kontejneru (docker exec <container> node -v). Verze nižší než 22.23.5, 24.22.3 nebo 26.13.1 ve své řadě nebo jakákoli větev ukončené podpory, například 20.x nebo 25.x, jsou ohroženy. - U PM2 ukazuje
pm2 listapm2 show <app>, který binární soubor a verzi Node.js jednotlivé aplikace používají. - Zjistěte, zda vaše aplikace ukončují HTTP/2 nebo TLS přímo v Node.js: v kódu vyhledejte
http2.createSecureServer,http2.createServer,https.createServer,tls.createServer,respondWithFile,respondWithFD,SNICallbackaaddContext. - Zkontrolujte správce procesů a systémové logy, zda neobsahují neočekávané restarty nebo pády Node.js. Opakované ukončování serveru HTTP/2 může znamenat pokusy o vyvolání pádu.
Zdroje
Související příspěvky
Upozornění ·
Citrix NetScaler ADC a Gateway: kritické chyby paměti umožňují odmítnutí služby (CVE-2026-120868)
Citrix opravil devět kritických chyb paměti v NetScaler ADC a NetScaler Gateway, které mohou vést k odmítnutí služby. CVE-2026-120868 ovlivňuje každé nasazení. Aktualizujte na 14.1-73.57, 13.1-64.39 nebo odpovídající FIPS verze.
Upozornění ·
PostgreSQL CVE-2026-6460: uživatelé databáze, kteří mohou vytvářet objekty, mohou spouštět kód na serveru
PostgreSQL 18.7, 17.12, 16.16, 15.20 a 14.25 opravují CVE-2026-6460 a 51 dalších chyb. Databázový uživatel, který může vytvářet objekty, může spustit kód pod operačním systémovým uživatelem, pod kterým běží PostgreSQL. Aktualizujte server a C rozšíření společně.
Upozornění ·
Hosting Mittwald napadeno přes server MCP: administrátorské služby offline, zákazníci by měli zkontrolovat své účty
Webový hosting Mittwald je v nouzovém režimu po útoku přes server MCP. Jeho zákaznické administrátorské služby jsou vypnuté. Zákazníci by se měli spoléhat pouze na oficiální aktualizace a připravit se na kontrolu svých účtů a webů.