Кібербезпека

Критична вразливість «HTTP2Shell» у Brotli торкається Node.js, .NET і Python

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

Критична вразливість «HTTP2Shell» у Brotli торкається Node.js, .NET і Python
Фото: BleepingComputer

У відкритій бібліотеці декодування Brotli, яку використовують Node.js та інші екосистеми, знайдено критичну вразливість CVE-2026-111497 («HTTP2Shell», також відому як «Broccoli2Shell» і «Node2Shell»). Розробники випустили стабільні виправлення, а Microsoft екстрено оновила .NET.

Кого зачіпає

Помилка вражає Brotli версій 1.0.3–1.0.9, 1.1.0 і 1.2.0. Ризикують сервіси та клієнти, що розпаковують дані, контрольовані зловмисником: від Node.js до Python-застосунків, зокрема urllib3[brotli], requests, httpx, aiohttp[speedups], якщо вони налаштовані з уразливим декодером. Також під загрозою інші інструменти й застосунки, що вбудовують вразливу реалізацію Brotli.

Microsoft у неділю випустила позачергове оновлення .NET, попередивши, що успішна експлуатація на вразливих системах може дати підвищення привілеїв.

Як працює вразливість

Йдеться про переповнення буфера: спеціально сформований потік з Brotli може спровокувати недійсне перемикання блоку, яке декодер помилково сприймає як потребу у додатковому вводу. У результаті байти дописуються за межі внутрішнього 8-байтового буфера, що пошкоджує сусідню пам’ять.

Експлуатація можлива, коли застосунок розпаковує шкідливі дані — наприклад, через стиснену Brotli-відповідь HTTP або стиснений запит. За даними Node.js, це може спричинити збій процесу, розкриття пам’яті і віддалене виконання коду; звіт Imperva підтверджує потенціал RCE.

Оновлення та виправлені версії

Початкові виправлення внесли до репозиторію Brotli в лютому. Стабільні оновлення від Google і Node.js вийшли 21 жовтня, публічне розкриття відбулося наступного дня. Пакети PyPI з виправленнями стали доступні 23 жовтня.

  • Google Brotli: 1.0.10, 1.1.1, 1.2.1
  • Node.js: 22.23.4, 24.22.1, 26.12.1
  • Python Brotli: 1.2.1
  • Python brotlicffi: 1.2.1.0

Рекомендації адміністраторам

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

Блокування вхідних Brotli-запитів не закриває вектор через шкідливі HTTP-відповіді. Якщо негайне оновлення неможливе, тимчасово приберіть підтримку Brotli у Python-застосунках та блокуйте Brotli-стиснені запити на рівні проксі або файрвола.

Опубліковані працюючі PoC-експлойти, однак про масові зловмисні атаки наразі не повідомляли. Попри це, варто пріоритезувати встановлення виправлень.

Джерела

Читайте також