Краткая сводка
Node.js устранила CVE-2026-111497 — уязвимость декодера Brotli, которая может допускать удаленное выполнение кода — в версиях 22.23.4, 24.22.1 и 26.12.1, но масштабное обновление происходит медленно. Согласно телеметрии Qualys, патчи установлены только на 42 000 из примерно 3 миллионов инсталляций Node.js, а 1,7 миллиона используют устаревшие ветки, которые никогда не получат исправления. Тем временем временные меры по минимизации рисков от подразделения Qualys Threat Research Unit сужают векторы атак через Brotli, DNS, TLS и keep-alive, а средства защиты WAF, IPS и EDR от ведущих производителей добавляют новые уровни безопасности. Скоро Qualys ETM начнет учитывать эти средства контроля при расчете показателей риска. Эти меры позволяют выиграть время, однако обновление среды выполнения остается единственным полноценным исправлением.
В Node.js содержится четкое указание: обновите среду выполнения. Выпущенное 21 октября обновление безопасности устраняет 10 уязвимостей, включая CVE-2026-111497 (уязвимость декодера Brotli, способная привести к удаленному выполнению кода), а также три критические уязвимости, ослабляющие проверки DNS-имен и имен хостов TLS. Исправленные релизы доступны для веток 22.x, 24.x и 26.x. Обновление в таком масштабе все равно требует времени, поскольку уязвимый код находится внутри самой среды выполнения — в образах контейнеров, автономных исполняемых приложениях и бессерверных функциях, которые проверки зависимостей не затрагивают. По данным телеметрии Qualys, на данный момент пропатчены лишь 42 000 из 3,3 миллиона инсталляций, а 1,7 миллиона используют версии, поддержка которых прекращена (включая 25.x, 23.x, 21.x и 20.x), и они не получат исправления, поэтому их необходимо перенести на поддерживаемую ветку.
Именно в первые дни меры минимизации рисков и компенсирующие средства доказывают свою ценность. Они снижают риски на время развертывания обновлений, а правильная видимость показывает, какие среды выполнения требуют внимания в первую очередь. В нашей публикации в блоге Node.js рассматриваются уязвимости, исправленные версии и методы обнаружения.
Вот как преодолеть разрыв между раскрытием информации и обновлением в четыре шага: найти и расставить приоритеты для уязвимых сред Node.js, применить временные меры, задействовать имеющиеся у вас средства контроля, а затем установить патчи и проверить результат.
Шаг 1. Найдите и расставьте приоритеты для уязвимых сред Node.js
Клиенты Qualys могут выполнить поиск активов, затронутых CVE-2026-111497 и другими CVE в Node.js за октябрь 2026 года, чтобы увидеть каждую среду выполнения Node.js на хостах, в контейнерах и облачных рабочих нагрудках. Сюда входят копии, которые пропускают средства проверки зависимостей, например экземпляры в менеджерах версий, папках приложений и встроенные среды выполнения.
Важно отметить, что не каждая уязвимая среда выполнения имеет одинаковый уровень подверженности рискам. Начните с обращенных в интернет сервисов, которые выполняют декомпрессию ненадежных данных Brotli (CVE-2026-111497), поскольку это самый прямой путь к удаленному выполнению кода. Затем идут службы, открывающие TLS-соединения с хостами, указанными пользователем (CVE-2026-106069, CVE-2026-105483). Среды выполнения на устаревших ветках требуют плана обновления, так как для них не будет доступных патчей. Учитывайте эти факторы наряду с критичностью для бизнеса, чтобы решить, что смягчать и обновлять в первую очередь.
Шаг 2. Примените временные меры минимизации рисков
В Node.js нет официального обходного пути, но подразделение Qualys Threat Research Unit определило практические временные меры. Каждая из них сужает конкретный вектор атаки, пока вы планируете обновление, а в совокупности они дополняют исправление.
Эти изменения не устраняют все пути эксплуатации, связанные с данными CVE, а некоторые изменения могут повлиять на поведение приложений. Поэтому крайне важно тестировать затронутые приложения после каждого изменения.
- Ограничьте использование Brotli (CVE-2026-111497). По возможности избегайте декомпрессии Brotli из ненадежных источников, а также ограничьте размер полезной нагрузки и коэффициент декомпрессии на обратном прокси-сервере или WAF.
- Используйте более безопасный вызов DNS (CVE-2026-105482). Разрешайте имена, предоставленные пользователем, с помощью dns.lookup вместо dns.resolve*, и отклоняйте имена хостов, содержащие нулевые символы (NUL).
- Приведите IP-адреса к каноническому виду (CVE-2026-106069, CVE-2026-105483, CVE-2026-106072). Преобразуйте адреса в каноническую форму до того, как они установят TLS-соединение, и отклоняйте полноширинные и другие неканонические формы.
- Отключите keep-alive для ненадежных серверов (CVE-2026-105481). Отключите keepAlive в http.Agent для соединений с серверами, которые вы не контролируете.
- Относитесь к модели разрешений как к рекомендательной. (CVE-2026-106071, CVE-2026-106073) Не полагайтесь на нее как на границу безопасности в уязвимых версиях.
Шаг 3. Добавьте уровни защиты из уже используемого стека безопасности
Инструменты, уже работающие в вашей среде, могут функционировать параллельно с временными мерами, причем каждая из них — на своем этапе вектора атаки. Каждый уровень может перехватить то, что пропустил предыдущий.
Периметр и сеть: WAF и IPS. Поставщики WAF и IPS, такие как Cloudflare, Fortinet и Check Point, выпустили средства защиты, учитывающие уязвимость Brotli. Они помогают блокировать запросы на эксплойты до того, как эти запросы достигнут декодера Node.js.
После реализации эксплойта: EDR. Политики поведенческого анализа и предотвращения эксплойтов в инструментах для конечных точек, таких как CrowdStrike Falcon, Microsoft Defender for Endpoint и Cortex XDR, создают второй рубеж обороны. Они помогают остановить дальнейшие действия злоумышленника (например, порождение оболочки процессом Node.js или загрузку бинарного файла), а некоторые также реагируют непосредственно на эксплуатацию памяти.
Сторонние средства минимизации рисков и компенсирующие элементы контроля для Node.js
В таблице ниже приведены правила и политики, выпущенные каждым производителем для CVE-2026-111497 и связанных с ними CVE Node.js, готовые к копированию в вашу консоль.
Наилучшее покрытие обеспечивается для уязвимости Brotli. Правило Cloudflare срабатывает по заголовку Content-Encoding, поэтому оно охватывает запросы, заявляющие о применении Brotli, а не сжатые данные, которые служба извлекает или распаковывает из других источников. Уязвимости имен хостов DNS и TLS зависят от описанных выше временных шагов и обновления.
Примечание: идентификаторы правил и политик приведены так, как они были опубликованы каждым производителем в октябре 2026 года; подтвердите их в своей консоли. Политики конечных точек действуют после реализации эксплойта или на основе поведения в памяти, поэтому убедитесь, что каждая из них срабатывает для вашего процесса Node.js. Компенсирующие средства контроля снижают риск, однако обновление Node.js остается единственным полным исправлением.
Шаг 4. Установите патч, перезапустите систему и выполните повторную проверку
Временные меры снижают риски. Обновление остается единственным полным исправлением. Node.js устранила эти уязвимости в версиях 22.23.4, 24.22.1 и 26.12.1, в то время как такие ветки, как 25.x, 23.x, 21.x, 20.x и более старые, не получают исправлений и должны быть переведены на поддерживаемый релиз. Клиенты могут развертывать поддерживаемые патчи производителей с помощью TruRisk Eliminate, поэтому проверьте каталог патчей для своей ветки. Qualys сообщает о высоком рейтинге надежности патчей для этих обновлений и об отсутствии необходимости перезагрузки ОС для обновления среды выполнения.
Подтвердите, что исправление завершено
Установка пакета еще не означает завершение работы с патчем:
- Обновите каждую копию. Перенесите устаревшие ветки на поддерживаемый релиз.
- Пересоберите образы контейнеров и автономные исполняемые приложения на исправленной версии, а затем повторно разверните их.
- Перезапустите каждый сервис, работающий на Node.js. Долго работающие процессы, контейнеры и автономные исполняемые приложения удерживают уязвимую среду выполнения в памяти до перезапуска.
- Выполните повторное сканирование и проверку. Выполните сканирование с помощью Cloud Agent или Container Security и убедитесь, что обнаруженные QID закрыты.
С чего начать
- Найдите. Выполните поиск CVE-2026-111497 и других CVE Node.js за октябрь 2026 года, чтобы обнаружить каждую среду выполнения, включая копии за пределами стандартных путей установки.
- Расставьте приоритеты. Разместите обращенные в интернет службы, которые распаковывают ненадежные данные Brotli, на первом месте вместе с критичностью для бизнеса.
- Примите меры по минимизации рисков. Примените промежуточные шаги Qualys TRU к средам выполнения, ожидающим обновления, и протестируйте затронутые приложения.
- Используйте многоуровневую защиту. Держите применимые средства защиты WAF, IPS и EDR включенными и актуальными в качестве дополнительных уровней, а также установите правило Cloudflare в положение «Блокировать» (Block).
- Установите исправления и проверьте. Обновите ПО до исправленного выпуска, пересоберите и заново разверните компоненты, в которые встроена среда выполнения, перезапустите все службы Node.js и проведите повторное сканирование.
Компенсирующие средства контроля дают драгоценное время, но они не устраняют уязвимость. Продолжайте отслеживать каждую систему до ее исправления.
Далее: учитывайте эффективность средств контроля в Qualys ETM
Возможности, описанные в этом разделе, находятся в разработке и могут быть изменены.
Два сервера могут работать на одной и той же неисправной сборке Node.js и нести совершенно разные риски. Один находится за правилом WAF и сигнатурой IPS, которые указывают на уязвимость Brotli, а EDR следит за его процессом Node.js. Другой «смотрит» в интернет без какой-либо защиты перед ним. Традиционное сканирование оценивает их одинаково.
Qualys ETM расширяется, чтобы закрыть этот пробел. Это реализуется в три этапа:
- Рекомендации по каждой обнаруженной уязвимости (скоро). ETM покажет, какие применимые сторонние средства контроля могут снизить уровень воздействия для каждой уязвимости, чтобы команды знали, что и где нужно включить.
- Средства контроля учитываются в оценке. Действующие средства контроля снизят оценку QVSS для уязвимости, чтобы отразить вашу реальную защиту (это отображается как экологическая оценка), благодаря чему очереди на устранение будут сфокусированы на том, что все еще требует внимания.
- Действия из той же платформы. Команды смогут применять сторонние средства минимизации рисков с помощью TruRisk Eliminate прямо с платформы, которая обнаружила эту уязвимость.
Загрузите панель мониторинга уязвимостей Node.js уже сегодня.










