TGViewer
Spring АйО Spring АйО @spring_aio · 10.9K subscribers
Post #930 8.75K
🚨 Срочный апдейт по безопасности в Node.js

Node.js выпустил срочный security-релиз, который закрывает опасную уязвимость отказа в обслуживании (DoS). И это хороший повод обратить внимание всем backend-разработчикам, а не только JS-сообществу.

Михаил Поливаха, эксперт сообщества Spring АйО, пояснил в чём проблема и почему она касается в том числе Java разработчиков.

В чем суть проблемы?

В ряде Node.js-приложений сервер мог падать целиком от одного запроса. Без логов. Без обработки ошибок. Без возможности мониторинга причин.

А всё дело в том, что рантайм Node-ы в рамках ассинхронного контекста (Promise или async/await) не контролировал глубокую или даже бесконечную рекурсию и позволял ей положить весь рантайм.

В результате:

🔵ошибка не перехватывалась кодом
🔵не доходила до глобальных обработчиков
🔵сервер падал с ошибкой

Кого это затронуло сильнее всего?

🔵Приложения на React / Next.js
🔵Любые системы с APM (Datadog, New Relic, OpenTelemetry)
🔵Большинство продакшн-Node.js-сервисов по умолчанию

Что сделали разработчики Node.js?

🔵Исправили поведение: теперь ошибка возвращается в код, а не убивает процесс
🔵Выпустили security-релиз для всех актуальных веток
🔵Отдельно подчеркнули, что это больше смягчение, а не гарантия безопасности

Почему это важно для Spring разработчика?

А потому, что контролировать рекурсию на основе входных данных нужно всегда, и Spring Data, например, в своё время фиксила такую дыру у себя тоже в рамках Property Path Traversal.

Главный вывод

Если глубина рекурсии, размер и строение входных структур или объём ресурсов могут контролироваться пользователем — нужно вводить явные ограничения, как это сделала Spring Data.

Это справедливо для Node.js, для Java / Spring, для любых backend-систем.

📌 Помним, что DoS-уязвимости часто рождаются не в бизнес-логике, а на стыке рантайма, инфраструктуры и удобных абстракций.

🔗 Подробнее: https://nodejs.org/en/blog/vulnerability/january-2026-dos-mitigation-async-hooks
  • 🔥 22
  • ❤ 10
  • 👍 7
  • ⚡ 6
More from @spring_aio
  1. Oct 3, 2026⚡️⚡️Строки кода стремятся подешеветь до цены токена. Что остается ценным? Про это — трек «…
  2. Oct 2, 2026🙅‍♂️ Не каждый AI-вызов должен генерировать текст Иногда от модели нужен не красивый отве…
  3. Oct 1, 2026JEP 544: JVM будет сохранять машинный код между запусками JEP 544 (Ahead-of-Time Code Comp…
  4. Sep 30, 2026🍃 Переписываем всё на Rust, JavaScript — кошмар, AI против Vaadin | Spring АйО Подкаст №7…
  5. Sep 29, 2026⚡️ AI-плагин уже в OpenIDE Pro Вышли новые версии OpenIDE и OpenIDE Pro: AI-плагин теперь…
  6. Sep 28, 2026🧑‍💻 Скрытая возможность конфигурации Spring Boot, о которой мало говорят Представим, что…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →