Katalog CVE

CVE-2025-59466

Wysokie
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

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.

Ocena ryzyka

Ryzyko polega na tym, że atakujący może doprowadzić do nieodwracalnego crashu procesu Node.js, co skutkuje przerwaniem działania usługi (denial-of-service). Organizacja może doświadczyć niedostępności aplikacji, co wpływa na ciągłość biznesową i dostępność systemów.

Rekomendacja

Zaleca się natychmiastowe zaktualizowanie Node.js do wersji zawierającej poprawkę (jeśli dostępna) oraz monitorowanie komunikatów o błędach związanych z przepełnieniem stosu. W międzyczasie ogranicz głębokość rekurencji w aplikacjach i rozważ wyłączenie `async_hooks` tam, gdzie nie jest to konieczne.

Inne podatności w Node.js

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

We have identified a bug in Node.js error handling where "Maximum call stack size exceeded" errors become uncatchable when `async_hooks.createHook()` is enabled. Instead of reaching `process.on('uncaughtException')`, the process terminates, making the crash unrecoverable. Applications that rely on `AsyncLocalStorage` (v22, v20) or `async_hooks.createHook()` (v24, v22, v20) become vulnerable to denial-of-service crashes triggered by deep recursion under specific conditions.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS