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.
{
"cna_assigner": "hackerone",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/59xxx/CVE-2025-59466.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"last_affected": "20.19.6"
},
{
"last_affected": "22.21.1"
},
{
"last_affected": "24.12.0"
},
{
"last_affected": "25.2.1"
},
{
"introduced": "8.0"
},
{
"fixed": "8.*"
},
{
"introduced": "9.0"
},
{
"fixed": "9.*"
},
{
"introduced": "10.0"
},
{
"fixed": "10.*"
},
{
"introduced": "11.0"
},
{
"fixed": "11.*"
},
{
"introduced": "12.0"
},
{
"fixed": "12.*"
},
{
"introduced": "13.0"
},
{
"fixed": "13.*"
},
{
"introduced": "14.0"
},
{
"fixed": "14.*"
},
{
"introduced": "15.0"
},
{
"fixed": "15.*"
},
{
"introduced": "16.0"
},
{
"fixed": "16.*"
},
{
"introduced": "17.0"
},
{
"fixed": "17.*"
},
{
"introduced": "18.0"
},
{
"fixed": "18.*"
}
],
"source": "AFFECTED_FIELD"
}
]
}{
"extracted_events": [
{
"introduced": "20.0.0"
},
{
"fixed": "20.20.0"
},
{
"introduced": "22.0.0"
},
{
"fixed": "22.22.0"
},
{
"introduced": "24.0.0"
},
{
"fixed": "24.13.0"
},
{
"introduced": "25.0.0"
},
{
"fixed": "25.3.0"
}
],
"source": "CPE_RANGE",
"cpe": "cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*"
}