CVE-2026-111497: Уразливість декодера Brotli у Node.js дозволяє віддалене виконання коду

CVE-2026-111497: Уразливість декодера Brotli у Node.js дозволяє віддалене виконання коду

SOC Prime Team
SOC Prime Team linkedin icon Стежити

Node.js випустила оновлення безпеки для усунення CVE-2026-111497, високорівневої уразливості в вбудованому коді декомпресії Brotli, що потенційно може дозволити віддалене виконання коду. Вразливість є виходом за межі запису, що викликається, коли уразливий декодер обробляє спеціально сформовані дані стиснення Brotli.

Ця проблема впливає на всі наразі підтримувані гілки Node.js — 22.x, 24.x і 26.x. Node.js вирішила проблему у версіях 22.23.4, 24.22.1 та 26.12.1 у рамках випуску безпеки від 21 жовтня 2026 року, в якому було виправлено загалом десять уразливостей.

Ризик особливо актуальний, тому що стиснення Brotli зазвичай використовується для HTTP-трафіку. Застосунки Node.js можуть викликати уразливий декодер безпосередньо через node:zlib або автоматично, коли fetch() отримує відповідь з використанням Content-Encoding: br. Отже, застосунок може піддаватися загрозі, коли контент Brotli під керуванням атакуючого потрапляє до декодера через вхідний запит, віддалену відповідь, проксі-світ, або інший шлях обробки даних.

Для виявлення CVE-2026-111497 команди безпеки повинні надавати пріоритет додаткам Node.js, які обробляють ненадійний стиснений контент, та контролювати їх на виявлення збоїв, ненормальну поведінку пам’яті, незвичайні дочірні процеси та підозрілі дії безпосередньо після декомпресії Brotli.

Платформа AI-Native Detection Intelligence від SOC Prime дозволяє командам безпеки підвищити видимість експлуатації нових вразливостей та асоційованої посткомпромісної поведінки з вмістом виявлення, який можна розгорнути на платформах SIEM, EDR та Data Lake.

Натисніть Досліджуйте Виявлення щоб отримати доступ до відповідного вмісту для виявлення та мисливської логіки. Для виявлення CVE-2026-111497 захисники повинні співвіднести телеметрію застосунків Node.js з кінцевими точками, проксі, веб-активністю та мережевою активністю, щоб ідентифікувати підозрілі дії, пов’язані зі стисненим HTTP-трафіком.

Команди безпеки також можуть використовувати Prime Architect для перетворення свіжої розвідки вразливостей у правила Sigma і запити для мисливства, валідації логіки виявлення та перетворення відповідного вмісту виявлення на підтримувані платформи безпеки.

Зв’яжіться з відділом продажів

Аналіз CVE-2026-111497

Уразливість знаходиться в декодері Brotli, вбудованому в Node.js. Brotli — це алгоритм стиснення, який широко використовується для зменшення розміру веб-контенту, і Node.js включає власну копію цієї бібліотеки.

Неправильно сформований потік стиснення може викликати вихід за межі запису, змушуючи декодер записувати дані за межі буфера пам’яті, призначеного для декомпресованих даних. Верхні виправлення змінюють декодер, щоб невірний вхід було відхилено раніше, замість того щоб дозволити виконання переходити до небезпечного стану запису в пам’ять.

CVE-2026-111497 впливає на Node.js 22.x, 24.x і 26.x до випусків безпеки від 21 жовтня. Виправлені версії такі:

  • Node.js 22.23.4
  • Node.js 24.22.1
  • Node.js 26.12.1

Node.js 20.x та попередні випуски досягли кінця терміну життя і не отримають оновлення безпеки, тому організації, які використовують ці версії, повинні перейти на підтримувану гілку.

Основна проблема не обмежується лише Node.js. Уразливий код походить із самого проекту Brotli, і відповідні виправлення були випущені в Brotli 1.0.10, 1.1.1 і 1.2.1. Інші програми, які містять уразливі версії Brotli, можуть також вимагати окремих оновлень, навіть якщо вони не використовують Node.js.

Атака залежить від того, як стиснені дані потрапляють до додатка. Пряме використання API для декомпресії Brotli є одним з очевидних способів. Проте, Node.js також може автоматично обробляти HTTP-відповіді, стиснені Brotli, коли застосунки використовують fetch().

Це робить особливо актуальними застосунки, які отримують контент під керуванням атакуючих. Прикладами є служби попереднього перегляду URL, краулери, обробники вебхук, платформи проксі, сканери контенту, служби конвертації та застосунки, що дозволяють користувачам надсилати віддалені URL.

Вхідний трафік може створити інший шлях, де веб-застосунок або проміжний програмний шар приймає тіла запитів, стиснені Brotli. Тому команди безпеки мають оцінити реальні потоки даних додатків, а не лише обмежувати оцінку піддавання ризику до явних викликів Brotli у вихідному коді.

Подробиці про CVE-2026-111497 показують, чому ця проблема може мати наслідки за межами простого збою сервісу. Пошкодження пам’яті може потенційно впливати на стан процесу поруч і, залежно від платформних захистів та умов виконання, призводити до розголошення пам’яті або довільного виконання коду.

Node.js явно описує вразливість як таку, що може призвести до віддаленого виконання коду, але варто розглянути нюанси практичної експлуатаційності. Помилку було оцінено як високу Node.js проектом, а не критичну.

Публічний PoC для CVE-2026-111497, випущений після розкриття, досяг виконання коду проти навмисно ослабленої тестової збірки. Проти стандартної збірки Node.js дослідник повідомив про збій і обмежене розголошення пам’яті процесу, але не досяг надійного виконання коду. Це означає, що було продемонстровано примітив пошкодження пам’яті, тоді як успішне RCE для звичайних продукційних збірок залежить від додаткових умов експлуатації.

Виправлені версії Node.js відхиляють неправильно сформований контент, що використовувався в демонстрації. Станом на 22 жовтня ще не повідомлялося про експлуатацію в польових умовах.

Таким чином, не були опубліковані показники IOC CVE-2026-111497, такі як шкідливі IP-адреси, домени, геши корисного навантаження або підтверджені підписи запитів на експлуатацію в цитованих дослідженнях.

Замість цього команди безпеки повинні зосередитися на поведінкових індикаторах, таких як:

  • Неочікувані збої сервісів Node.js, які обробляють стиснений трафік
  • Сегментаційні помилки або збої нативного декодера
  • Ненормальні оповіщення про захист пам’яті або експлуатацію
  • Node.js, що запускає оболонки або інтерпретатори команд
  • Незвичайні з’єднання ззовні відразу після обробки Brotli
  • Підозрілі стиснені запити з невідомих джерел
  • Активність fetch() на серверній стороні, яка досягає ненадійної інфраструктури
  • Неочікувані зміни файлів або процесів, що походять від облікового запису сервісу Node.js

Випуск Node.js від 21 жовтня також виправив додаткові високолебезпечні проблеми, що стосуються перевірки імен хостів TLS і обробки DNS. CybersecurityNews зазначає, що організації повинні розглядати випуск як більш широкий оновлення безпеки рантайма, а не зосереджуватися виключно на уразливості Brotli.

Цей самий реліз також оновив інформацію про довіру до сертифікатів після компрометації сертифіката авторитету eMudhra, що додатково збільшує цінність оновлення, а не намагається перенести стару версію лише однієї виправлення.

Зменшення ризику CVE-2026-111497

Основна міра зменшення ризику CVE-2026-111497 — це оновлення всіх підтримуваних інсталяцій Node.js до виправленої версії:

  • 22.x → 22.23.4 або пізніша
  • 24.x → 24.22.1 або пізніша
  • 26.x → 26.12.1 або пізніша

Проект Node.js не надає еквівалентної тимчасової обхідної роботи для проблеми з Brotli, тому оновлення є надійним шляхом усунення.

Після оновлення рантайма адміністратори повинні перезапустити всі постраждалі сервіси Node.js. Тривало запущені процеси продовжують використовувати старий рантайм, доки не будуть перезапущені.

Контейнерним робочим навантаженням потрібна додаткова увага. CybersecurityNews спеціально рекомендує перебудувати образи контейнерів таким чином, щоб розгорнуті додатки містили оновлений рантайм Node.js. Оновлення Node.js на основному хості не замінює вразливий рантайм, вже вбудований в образ контейнера.

Організаціям, що використовують Brotli незалежно, слід також оновити вразливі версії бібліотек. Інвентаризація програмного забезпечення та SBOM можуть допомогти ідентифікувати вбудовані копії в нативних програмах, пристроях, інструментах розробки та сторонніх пакетах.

Коли неможливо здійснити негайне оновлення, організації можуть тимчасово зменшити площу атаки, зробивши наступне:

  • Відхилення тіл запитів, стиснених Brotli, де стиснення непотрібне
  • Обмеження HTTP-запитів на серверній стороні лише довіреними пунктами призначення
  • Запобігання користувачам постачати довільні віддалені URL-адреси
  • Обмеження вихідної підключеності з уразливих навантажень
  • Вимкнення необов’язкової обробки Brotli, де це доцільно
  • Тісне спостереження за збоями додатків і помилками, пов’язаними з пам’яттю
  • Перевірка незвичайних дочірніх процесів, запущених Node.js

Vercel впровадив захисти фаерволу, щоб блокувати шкідливі дані Brotli, що надходять через вхідні запити. Однак, The Hacker News зазначає, що ці правила не захищають застосунки, які незалежно отримують шкідливі відповіді Brotli з зовнішніх серверів, що ілюструє, чому фільтрація WAF не може замінити оновлення рантайму.

Адміністратори також повинні підтвердити, що після виправлення використовується саме той рантайм, який обробляє продукційні навантаження. Виводи пакети-менеджера самостійно недостатньо, коли старі двійкові файли Node.js залишаються всередині контейнерів, безсерверних пакетів, упакованих додатків або вручну встановлених каталогів рантайму.

Якщо підозрюється експлуатація, учасники реагування повинні ізолювати постраждале навантаження і зберегти телеметрію застосунків, кінцевих точок, проксі та мережі. Витяги пам’яті можуть бути особливо цінними, оскільки вразливість безпосередньо впливає на пам’ять процесу.

Команди безпеки повинні розслідувати:

  • Неочікувані дочірні процеси Node.js
  • Новостворені файли або механізми збереження
  • Незвичайні вихідні з’єднання
  • Зміни в конфігурації додатку або його розгортанні
  • Дані облікових записів і секрети, доступні у змінних середовища
  • Ключі API, токени та облікові дані хмар, доступні для процесу Node.js
  • Бази даних бекенду, доступні за допомогою ідентифікації сервісу застосунку

Оскільки було продемонстровано обмежене розголошення пам’яті процесу, секрети, які знаходяться в пам’яті уразливого додатка, слід вважати потенційно розкритими, коли виявлено підозрілу експлуатаційну активність, навіть якщо довільне виконання коду не може бути безперечно доведено.

Організації також повинні переглянути привілеї, призначені постраждалим сервісам. Успішна експлуатація контейнера з мінімальними привілеями має інші наслідки, ніж експлуатація процесу Node.js, який містить облікові дані хмари, адміністративний доступ до бази даних, токени CI/CD або права на розгортання.

Клієнти SOC Prime можуть використовувати поведінковий вміст для виявлення для ідентифікації експлуатації вразливості та пов’язаної активності атакуючих під час виявлення та усунення уразливих систем.

Відмова від відповідальності: Вміст для виявлення може бути недоступним для кожного CVE. Перевірте платформу SOC Prime на наявність поточного покриття. Якщо відповідні виявлення ще недоступні, перевірте знову, оскільки нова розвідка загроз та вміст для виявлення додаються постійно.

FAQ

Що таке CVE-2026-111497 і як він працює?

CVE-2026-111497 – це уразливість виходу за межу запису в декодері Brotli, включеному в Node.js. Зловмисно створений потік Brotli може змусити декодер записувати за межі його призначеного буфера пам’яті. Залежно від оточення та умов експлуатації це може призвести до збою процесу, розголошення пам’яті процесу або потенційно виконання коду під керуванням атакуючого. Уразливий декодер може бути досяжний через прямий виклик API для декомпресії або автоматично, коли Node.js обробляє HTTP-відповіді, стиснені Brotli.

Коли вперше було виявлено CVE-2026-111497?

Проект Node.js публічно розкрив і виправив уразливість 21 жовтня 2026 року. Дослідникам безпеки OpenAI Codex Кхаі Тран та Сільві Майєр заслуговують на визнання за повідомлення про проблему Node.js. The Hacker News повідомляє, що відповідна зміна в початковому коді Brotli спочатку була зроблена в лютому 2026 року, але була випущена як виправлення безпеки в жовтні.

Який вплив CVE-2026-111497 на системи?

Успішна експлуатація може пошкодити пам’ять вразливого процесу Node.js. Можливими наслідками є відмова в обслуговуванні через збої програми, розголошення пам’яті процесу та потенційно віддалене виконання коду. Реальний вплив залежить від того, чи досягає контент Brotli під керуванням атакуючого декодера і чи може примітив пошкодження пам’яті обійти захист у цільовому рантаймі та операційній системі. Якщо виконання коду досягається, атакуючий зазвичай успадковує дозволи та доступи, доступні для компрометованого процесу Node.js, що потенційно розкриває дані програми, облікові дані, ресурси хмари або підключені бекенди.

Чи може CVE-2026-111497 усе ще вплинути на мене у 2026 році?

Так. Інсталяції Node.js 22.x, 24.x і 26.x залишаються уразливими, якщо вони не були оновлені до версій з виправленнями від 21 жовтня. Організації, що використовують Node.js 20.x або старіші, повинні перейти на підтримуваний реліз, оскільки кінцеві гілки не отримують це виправлення. Програми, які вбудовують уразливі бібліотеки Brotli незалежно, також можуть залишатися відкритими, навіть якщо сам Node.js було оновлено.

Як я можу себе захистити від CVE-2026-111497?

Оновіть Node.js до 22.23.4, 24.22.1, 26.12.1 або новішого підтримуваного релізу і перезапустіть уражені робочі навантаження. Перебудуйте образи контейнерів, оновіть незалежно упаковані бібліотеки Brotli та перевірте, що продукційні служби дійсно виконують виправлені двійкові файли. Поки виправлення не завершене, зменшуйте підданість ненадійному вхідному Brotli та обмежуйте запити на серверній стороні на затверджені пункти призначення. Відстежуйте уразливі служби на збої, незвичайні дочірні процеси, неочікувану мережеву активність та інші ознаки експлуатації пам’яті. Якщо виявлено підозрілу активність, ізолюйте робоче навантаження, збережіть судово-медичні докази та змініть конфіденційні облікові дані, доступні постраждалому процесу Node.js.

Приєднуйтесь до платформи Detection as Code від SOC Prime щоб покращити видимість загроз, найбільш актуальних для вашого бізнесу. Щоб допомогти вам розпочати та отримати негайну цінність, забронюйте зустріч зараз з експертами SOC Prime.

More CVEs Articles