Skip to content

Commit 775de7b

Browse files
Update apps/site/pages/en/blog/vulnerability/january-2026-dos-mitigation-async-hooks.md
Co-authored-by: Joyee Cheung <joyeec9h3@gmail.com> Signed-off-by: Matteo Collina <matteo.collina@gmail.com>
1 parent 4a8a4dd commit 775de7b

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

apps/site/pages/en/blog/vulnerability/january-2026-dos-mitigation-async-hooks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ While this issue has significant practical impact, we want to be clear about why
300300
301301
The "Maximum call stack size exceeded" error is not part of the ECMAScript specification. The specification assumes infinite stack space; imposing a limit and throwing an error is simply behavior that JavaScript engines implement on a best-effort basis. Building a security model on top of an undocumented, unspecified feature that isn't guaranteed to work consistently would be unreliable.
302302
303-
It's worth noting that even when ECMAScript specifies that [proper tail calls](https://tc39.es/ecma262/#sec-tail-position-calls) [should not be subject to stack size limits](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Execution_model#tail_calls), this has never been implemented by most JavaScript engines, including V8. And in the few JavaScript engines that do implement it, proper tail calls can block an application with infinite recursion instead of hitting the stack size limit at some point and stopping with an error, which is also a Denial-of-Service factor. This reinforces that stack overflow behavior cannot be relied upon for defending against Denial-of-Service attacks.
303+
It's worth noting that even when ECMAScript specifies that [proper tail calls](https://tc39.es/ecma262/#sec-tail-position-calls) [should reuse stack frames](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Execution_model#tail_calls), this is not implemented by most JavaScript engines today, including V8. And in the few JavaScript engines that do implement it, proper tail calls can block an application with infinite recursion instead of hitting the stack size limit at some point and stopping with an error, which is also a Denial-of-Service factor. This reinforces that stack overflow behavior cannot be relied upon for defending against Denial-of-Service attacks.
304304
305305
### V8 Doesn't Treat This as a Security Issue
306306

0 commit comments

Comments
 (0)