Node.js декабрь 2025 года: критические обновления безопасности для команд full‑stack, которые необходимо развернуть сейчас
Summary
13 января 2026 года проект Node.js опубликовал согласованные обновления безопасности, которые устраняют несколько уязвимостей высокой и средней степени серьезности в работе и зависимостях, затрагивающих активные версии (20.x, 22.x, 24.x, 25.x). Набор включает исправления для неинициализированных утечек памяти в выделении буфера, обхода прав файловой системы через специально подготовленные символические ссылки, удаленных сбоев из-за неправильно сформированных HTTP/2 фреймов и обновления ключевых зависимостей (c-ares, undici). Эти ошибки представляют риски для конфиденциальности, целостности и доступности серверных JavaScript-сервисов и управляемых сред выполнения — команды full‑stack должны рассматривать это как срочное обновление платформы. (nodejs.org)
Why this matters (practical impact)
- Условие гонки при выделении буфера (CVE-2025-55131): при определенных условиях таймаута/гонки, Buffer.alloc и аналогичные выделения TypedArray могут быть не заполнены нулями, что потенциально может раскрыть секреты в процессе или вызвать повреждение данных, когда код использует таймауты с модулем vm. Сервисы, которые управляют длительными процессами, секретами в памяти или полагаются на изоляцию в процессе, находятся под угрозой. (nodejs.org)
- Обход прав файловой системы (CVE-2025-55130): специально подготовленные относительные цепочки символических ссылок могут обойти модель прав файловой системы Node (экспериментальные флаги прав), что позволяет читать/записывать за пределами предполагаемых директорий — это опасно для песочниц и сборочных процессов, которые полагаются на изоляцию на уровне Node. (nodejs.org)
- Сбой сервера HTTP/2 (CVE-2025-59465): неправильно сформированные фреймы HEADERS с недействительными данными HPACK могут вызвать необработанные ошибки и удаленные сбои процессов, что позволяет осуществлять DoS-атаки на HTTPS-серверы, использующие стек HTTP/2 Node. (nodejs.org)
- Исправления зависимостей: обновления для c-ares (1.34.6) и undici (6.23.0 / 7.18.0) являются частью релиза — приложения и фреймворки, которые используют или упаковывают эти библиотеки, могут потребовать пересборки или обновления зависимостей. (nodejs.org)
Immediate action checklist (high priority)
-
Обновите Node во всех средах (CI, образы разработки, тестовые, производственные) до исправленных релизов, опубликованных с этим уведомлением (20.20.0, 22.22.0, 24.13.0, 25.3.0 по мере доступности) и пересоберите любые контейнеры или артефакты выполнения. Рассматривайте это как обязательное для сервисов, доступных в интернете. Тестируйте развертывания в канаре перед полным развертыванием. (nodejs.org)
-
Пересоберите и повторно опубликуйте образы контейнеров и пакеты функций. Не предполагайте, что управляемая среда выполнения Node вашего облачного провайдера уже обновлена — проверьте версию образа провайдера и загрузите пересобранные образы в реестры (ECR/GCR/Azure Container Registry), где вы контролируете среду выполнения. Проверьте образы узлов вашего оркестратора (узлы k8s, задачи Fargate и т.д.). (nodejs.org)
-
Зафиксируйте и/или обновите прямые использования undici и c-ares. Если ваш код или фреймворк используют undici или c-ares, обновите до исправленных версий, указанных в уведомлении (undici 6.23.0 / 7.18.0, c-ares 1.34.6) и выполните пересборку зависимостей. Если вы полагаетесь на lockfiles, регенерируйте их и запустите полные тесты зависимостей CI. (nodejs.org)
-
Аудит шаблонов кода, которые увеличивают уязвимость:
- Ищите использования vm с опциями таймаута и код, который вызывает Buffer.alloc / Buffer.allocUnsafe в контекстах, где таймауты или ненадежный ввод влияют на частоту выделения. Замените небезопасные выделения на явное обнуление или переработайте, чтобы избежать зависимости от времени выделения. (nodejs.org)
- Избегайте полагаться исключительно на экспериментальные флаги прав Node для изоляции; обеспечьте контроль на уровне контейнера/ОС (только для чтения, seccomp, AppArmor, chroot), где это возможно. (nodejs.org)
-
Укрепите обработку ошибок и стеки TLS/HTTP:
- Убедитесь, что обратные вызовы TLS (pskCallback, ALPN) и любые пользовательские обратные вызовы, используемые во время рукопожатия, обернуты в безопасные блоки try/catch и что ваш процесс имеет соответствующие обработчики ошибок, чтобы избежать необработанных исключений и утечек дескрипторов. (nodejs.org)
- Для серверов HTTP/2 добавьте надежную обработку событий ошибок secureConnection/socket и реализуйте ограничения на количество соединений и разумные ограничения на размер фреймов, если вы разбираете необработанные фреймы. (nodejs.org)
-
Проверки CI / SRE
- Добавьте или обновите матрицу CI, чтобы включить исправленные версии Node и запустите интеграционные тесты под этими средами выполнения.
- Добавьте дымовые тесты, которые имитируют неправильно сформированные фреймы HTTP/2 и агрессивные сценарии рукопожатия TLS (в не производственной среде), чтобы подтвердить стабильность сервиса.
- Запустите быстрые сканирования зависимостей (SCA) и пересоберите lockfiles; рассмотрите возможность принудительной пересборки в CI, чтобы гарантировать, что нативные дополнения или упакованные библиотеки ссылаются на исправленные c-ares/undici. (nodejs.org)
-
Триаж инцидентов и секреты
- Для рабочих нагрузок, где вы не можете немедленно обновить, примените компенсирующие меры (ограничьте сетевое воздействие, изолируйте затронутые сервисы, увеличьте мониторинг).
- Поскольку проблема с выделением буфера может раскрыть данные в процессе в редкие временные окна, если вы подозреваете утечку учетных данных или токенов, измените секреты и ключи, используемые затронутыми процессами. (nodejs.org)
Rollout notes and long‑term recommendations
- Рассматривайте серверные и сборочные/сервисные среды выполнения (агенты CI, сборочные серверы, исполнители артефактов) с такой же срочностью, как и производственные веб-сервисы — открытый сборочный агент может раскрыть секреты или сохранить задние двери в артефактах.
- Для команд, использующих управляемые или edge-среды выполнения (платформы, которые встраивают Node), проверьте сроки поставки провайдеров — некоторые провайдеры могут отставать и потребовать от вас повторной упаковки с исправленным бинарным файлом Node.
- Поддерживайте автоматизированное окно патчей для LTS-версий Node в вашем календаре релизов и добавьте быстрый путь для экстренных обновлений безопасности Node (автоматизированные сборки образов + канарейка).
- Рассмотрите возможность увеличения изоляции среды выполнения (меньший радиус поражения) и уменьшения количества секретов, хранящихся в памяти длительных процессов; используйте внешние сервисы секретов с коротким временем жизни, где это возможно.
Bottom line
Это согласованное обновление безопасности Node.js устраняет несколько проблем, которые могут повлиять на конфиденциальность, целостность и доступность серверных JavaScript-сервисов. Команды full‑stack должны приоритизировать обновление до исправленных релизов Node, пересборку артефактов, обновление ключевых зависимостей (undici, c-ares), укрепление обработки ошибок и проверку сред выполнения провайдеров — затем измените секреты, если есть подозрения на утечку. Соблюдайте нормальную гигиену развертывания (канарейки, проверки состояния, наблюдаемость) и действуйте быстро: эти исправления имеют широкое применение и затрагивают несколько активных версий Node. (nodejs.org)
Source:
Source
Читать дальше
Изменения в FedCM в Chrome 143: структурированные утверждения ID, более строгие метаданные клиента и обновления API
31 января 2026 г.Chrome 143 (опубликован 12 января 2026 года) изменяет поток идентификации FedCM: токены утверждения ID могут быть структурированным JSON, проверка client_metadata становится обязательной, и несколько полей API перемещаются/переименовываются — требуется миграция перед Chrome 145.
Undici CVE-2026-22036: неограниченная цепочка декомпрессии приводит к исчерпанию ресурсов — выпущены патчи
30 января 2026 г.14 января 2026 года в уведомлении о безопасности для undici (HTTP-клиент Node.js) описывается уязвимость неограниченной цепочки декомпрессии, которая может привести к высокому использованию CPU и памяти. Команды полного стека должны найти и обновить затронутые версии undici и добавить легкие защитные меры на уровне выполнения.
Уязвимость CSRF в Server Actions React Router / Remix (CVE-2026-22030)
29 января 2026 г.React Router и @remix-run/server-runtime устранили проблему CSRF средней степени серьезности, затрагивающую обработчики действий на стороне сервера и нестабильные действия сервера React — что полностековым командам необходимо проверить и исправить сейчас.