CVE-2025-59465
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Wysokie ryzykoPercentyl 89 - wyżej niż 89% wszystkich znanych CVE
Streszczenie
Nieprawidłowo sformułowana ramka HTTP/2 HEADERS z nadmiernie dużymi, nieprawidłowymi danymi HPACK może spowodować awarię Node.js przez wywołanie nieobsłużonego błędu TLSSocket ECONNRESET. Zamiast bezpiecznego zamknięcia połączenia, proces ulega awarii, umożliwiając zdalną odmowę usługi.
Ocena ryzyka
Atakujący może zdalnie spowodować awarię serwera Node.js, co prowadzi do przerwania dostępności usługi. Ryzyko jest szczególnie wysokie dla aplikacji, które nie dodają jawnych handlerów błędów do bezpiecznych gniazd.
Rekomendacja
Zaleca się natychmiastową aktualizację Node.js do wersji zawierającej poprawkę dla CVE-2025-59465. Dodatkowo, należy dodać jawne handlery błędów do wszystkich bezpiecznych gniazd (TLSSocket) w aplikacji.
Inne podatności w Node.js
Zobacz wszystkie- CVE-2026-21637Wysokie
Podatność w obsłudze błędów TLS w Node.js pozwala zdalnemu atakującemu na awarię lub wyczerpanie zasobów serwera TLS, gdy używane są wywołania zwrotne `pskCallback` lub `ALPNCallback`. Wyjątki synchroniczne zgłaszane podczas tych wywołań omijają standardowe ścieżki obsługi błędów TLS, co prowadzi do natychmiastowego zakończenia procesu lub cichego wycieku deskryptorów plików, a w konsekwencji do odmowy usługi.
- CVE-2025-59466Wysokie
W Node.js wykryto błąd w obsłudze błędów, przez który błędy „Maximum call stack size exceeded” stają się nieprzechwytywalne, gdy włączony jest `async_hooks.createHook()`. Zamiast trafić do `process.on('uncaughtException')`, proces kończy się, co czyni awarię nieodwracalną. Aplikacje korzystające z `AsyncLocalStorage` (wersje v22, v20) lub `async_hooks.createHook()` (wersje v24, v22, v20) stają się podatne na awarie typu denial-of-service wywołane głęboką rekurencją w określonych warunkach.
- CVE-2025-59464Wysokie
Podatność powoduje wyciek pamięci w integracji OpenSSL w Node.js podczas konwersji pól certyfikatu X.509 do UTF-8 bez zwalniania bufora. Aplikacje wywołujące socket.getPeerCertificate(true) powodują wyciek pamięci przy każdym polu certyfikatu, co umożliwia zdalnym klientom ciągły wzrost zużycia pamięci przez powtarzane połączenia TLS.
- CVE-2015-7384Wysokie
Node.js w wersjach 4.0.0, 4.1.0 oraz 4.1.1 umożliwia zdalnym atakującym spowodowanie odmowy usługi.
- CVE-2017-14849Wysokie
Node.js w wersji 8.5.0 przed 8.6.0 umożliwia zdalnym atakującym dostęp do niezamierzonych plików, ponieważ zmiana w obsłudze '..' była niekompatybilna z walidacją ścieżek używaną przez nieokreślone moduły społecznościowe.
- CVE-2017-11499Wysokie
Node.js w wersjach od 4.0 do 4.8.3, wszystkie wersje 5.x, oraz wersje 6.0 do 6.11.0, 7.0 do 7.10.0 i 8.0 do 8.1.3 były podatne na ataki DoS z wykorzystaniem floodingu haszy. Problem wynikał z tego, że nasiona HashTable były stałe w danej wersji Node.js.
- CVE-2016-2216Wysokie
Kod parsowania nagłówków HTTP w Node.js w wersjach 0.10.x przed 0.10.42, 0.11.6 do 0.11.16, 0.12.x przed 0.12.10, 4.x przed 4.3.0 oraz 5.x przed 5.6.0 pozwala zdalnym atakującym na obejście mechanizmu ochrony przed dzieleniem odpowiedzi HTTP za pomocą zakodowanych w UTF-8 znaków Unicode w nagłówku HTTP.
- CVE-2016-2086Wysokie
Node.js w wersjach 0.10.x przed 0.10.42, 0.12.x przed 0.12.10, 4.x przed 4.3.0 oraz 5.x przed 5.6.0 jest podatny na ataki smugglingu żądań HTTP, które mogą być przeprowadzane przez złośliwie skonstruowany nagłówek Content-Length.
- CVE-2015-8027Wysokie
Node.js w wersjach 0.12.x przed 0.12.9, 4.x przed 4.2.3 oraz 5.x przed 5.1.1 nie zapewnia dostępności parsera dla każdego gniazda HTTP, co umożliwia zdalnym atakującym spowodowanie odmowy usługi poprzez złożone żądanie HTTP.
- CVE-2026-21710Wysokie
W Node.js wykryto błąd w obsłudze żądań HTTP, który powoduje nieprzechwycony wyjątek TypeError, gdy nagłówek o nazwie __proto__ jest przesyłany w żądaniu, a aplikacja odczytuje właściwość req.headersDistinct. Wyjątek jest rzucany synchronicznie w getterze właściwości i nie może być przechwycony przez nasłuchiwacze zdarzeń error.
Oryginalny opis (angielski, źródło NVD)
A malformed `HTTP/2 HEADERS` frame with oversized, invalid `HPACK` data can cause Node.js to crash by triggering an unhandled `TLSSocket` error `ECONNRESET`. Instead of safely closing the connection, the process crashes, enabling a remote denial of service. This primarily affects applications that do not attach explicit error handlers to secure sockets, for example: ``` server.on('secureConnection', socket => { socket.on('error', err => { console.log(err) }) }) ```

