Node.js устранил 16 уязвимостей, включая ошибки HTTP/2, которые приводили к сбоям серверов и утечке данных других соединений

node.js безопасность уязвимость Http/2 Tls thehackernews.com

Уязвимость в Node.js позволяет клиентам вызывать сбой серверов и получать доступ к памяти других соединений. Исправлены версии 22.x, 24.x, 26.x. Обновление — единственное решение.

На этой неделе в Node.js было устранено уязвимость, позволявшая неаутентифицированным клиентам вызывать сбой серверов, использующих встроенную поддержку HTTP/2 в версиях 24.x и 26.x. Вторая уязвимость HTTP/2 могла привести к тому, что сервер отправлял клиенту фрагменты своей памяти, включая ответы, предназначенные для других соединений.
Были выпущены исправленные версии для всех трех поддерживаемых линий: 22.23.5, 24.22.3 и 26.13.1.
Уязвимость, приводящая к сбою, CVE-2026-123863, требует лишь стандартного HTTP/2 сервера, который отвечает до того, как тело запроса полностью получено. Проект Node.js считает такое поведение типичным. Сбой работает как при TLS-, так и при обычных текстовых соединениях.
Уязвимость утечки памяти, CVE-2026-123866, затрагивает все три линии. Начиная с версий 24.22.0 и 26.9.0, клиент может вызвать ее самостоятельно. В сборках 22.x и более старых версиях 24.x и 26.x она по-прежнему может быть вызвана, когда сам сервер частично закрывает поток во время ответа, например, после тайм-аута простоя.
Отдельная уязвимость в серверах Node.js HTTPS, CVE-2026-123864, может позволить неаутентифицированному клиенту читать память из других соединений, «включая закрытые ключи TLS и запросы других пользователей», — говорится в сообщении проекта. Она затрагивает все три поддерживаемые линии.
Для эксплуатации уязвимости требуется обработчик, который вызывает res.flushHeaders() до получения полного тела запроса, а затем вызывает res.end() с данными. Для чтения утечки памяти также требуется маршрут, который отправляет обратно или сохраняет тело запроса. Серверы с обычным HTTP, созданные с помощью node:http, не затронуты.
Выпуск исправляет 16 уязвимостей в самом Node.js, семь из которых имеют высокий рейтинг. Остальные четыре уязвимости высокого рейтинга и затрагиваемые ими серверы:
Восемь вышеуказанных уязвимостей находятся в собственном коде HTTP/2, HTTPS и TLS серверов Node.js, поэтому они важны там, где процесс Node.js сам принимает эти соединения.
Обновление до исправленной версии для каждой линии — единственное решение, указанное в рекомендациях по безопасности проекта. Для серверов, которые еще не могут обновиться, обходных путей не указано.
Устаревшие линии, включая 20.x и 25.x, не получают исправлений в этом выпуске, и проект заявляет, что такие версии всегда подвержены риску.
В рекомендациях не сообщается об атаках с использованием уязвимостей. Также не указано, следует ли серверам, соответствующим условиям уязвимости HTTPS, заменять свои TLS-ключи или другие секреты после обновления.
Пять уязвимостей, включая CVE-2026-123863 и CVE-2026-123864, были обнаружены Крисом Рольфом в сотрудничестве с Claude и Anthropic Research, согласно рекомендациям.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: