Devs Hive
Повернутися до всіх новин

Node.js пом’якшив DoS-вектор в async_hooks, який зачіпає Next.js, RSC і APM

Node.js випустив mitigation для проблеми, яка може спричиняти падіння процесу під час переповнення стеку, якщо в застосунку увімкнено async_hooks (або використовується AsyncLocalStorage). У крайовому випадку замість “звичайної” помилки Maximum call stack size exceeded, яку можна перехопити, Node.js може завершитися з exit code 7, минаючи try/catch та uncaughtException.

Проблема важлива, бо AsyncLocalStorage активно використовують React Server Components і Next.js, а також більшість APM/трейсинг-інструментів, через що вразливими можуть бути багато продакшн-сервісів. Node.js радить оновитися до пропатчених релізів (20.20.0 / 22.22.0 / 24.13.0 / 25.3.0) і додатково захищатися на рівні коду: обмежувати рекурсію/глибину вкладеності та валідувати вхідні дані, якщо користувач може впливати на структуру запиту.