CVE-2018-7160
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Bardzo wysokie ryzykoPercentyl 95 - wyżej niż 95% wszystkich znanych CVE
Streszczenie
Inspektor Node.js w wersjach 6.x i nowszych jest podatny na atak DNS rebinding, który może zostać wykorzystany do zdalnego wykonania kodu. Atak jest możliwy ze złośliwych stron internetowych otwartych w przeglądarce na tym samym komputerze lub na innym komputerze z dostępem sieciowym do maszyny uruchamiającej proces Node.js. Złośliwa strona może wykorzystać atak DNS rebinding, aby obejść mechanizmy same-origin policy i umożliwić połączenia HTTP do localhost lub hostów w sieci lokalnej. Jeśli proces Node.js z aktywnym portem debugowania działa na localhost lub hoście w sieci lokalnej, złośliwa strona może połączyć się z nim jako debugger i uzyskać pełny dostęp do wykonywania kodu.
Ocena ryzyka
Pełne przejęcie kontroli nad procesem Node.js, co może prowadzić do zdalnego wykonania kodu i naruszenia integralności systemu.
Rekomendacja
Zaktualizuj Node.js do wersji, która zawiera poprawkę dla tej podatności oraz nie uruchamiaj procesów z aktywnym portem debugowania w środowiskach produkcyjnych.
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)
The Node.js inspector, in 6.x and later is vulnerable to a DNS rebinding attack which could be exploited to perform remote code execution. An attack is possible from malicious websites open in a web browser on the same computer, or another computer with network access to the computer running the Node.js process. A malicious website could use a DNS rebinding attack to trick the web browser to bypass same-origin-policy checks and to allow HTTP connections to localhost or to hosts on the local network. If a Node.js process with the debug port active is running on localhost or on a host on the local network, the malicious website could connect to it as a debugger, and get full code execution access.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

