CVE-2025-59466
Vulnerability Summary
Timeline
Description
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.
CVSS Metrics
- v3.1•HIGH•Score: 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- v3.0•MEDIUM•Score: 5.9CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS Trends
Current EPSS score: 0.62%• Percentile: 46%
Techniques & Countermeasures
- CWE-248•Uncaught Exception
An exception is thrown from a function, but it is not caught.
Affected Systems
- nodejs•node
20.19.6 | 22.21.1 | 24.12.0 | 25.2.1 | ≥ 8.0, < 8.* | ≥ 9.0, < 9.* | ≥ 10.0, < 10.* | ≥ 11.0, < 11.* | ≥ 12.0, < 12.* | ≥ 13.0, < 13.* | ≥ 14.0, < 14.* | ≥ 15.0, < 15.* | ≥ 16.0, < 16.* | ≥ 17.0, < 17.* | ≥ 18.0, < 18.*
- nodejs•node.js
≥ 20.0.0, < 20.20.0 | ≥ 22.0.0, < 22.22.0 | ≥ 24.0.0, < 24.13.0 | ≥ 25.0.0, < 25.3.0