Критическая уязвимость, получившая название HTTP2Shell, обнаружена в библиотеке декомпрессии Brotli, встроенной в Node.js. Проблема может позволить злоумышленникам повредить память и получить доступ к конфиденциальным данным.
Проблеме присвоен идентификатор CVE-2026-111497, она также известна под именами Broccoli2Shell и Node2Shell. Уязвимость затрагивает версии Brotli с 1.0.3 по 1.0.9, а также версии 1.1.0 и 1.2.0. Название HTTP2Shell отражает влияние проблемы на HTTP-клиенты и серверы, однако уязвимость не ограничивается протоколом HTTP/2 и способна затрагивать другие приложения, обрабатывающие сжатые данные Brotli.
Помимо Node.js, потенциально уязвимому ПО подвержены Python HTTP-клиенты вроде urllib3[brotli], requests, httpx и aiohttp[speedups] при соответствующей конфигурации, а также другие инструменты, использующие уязвимые реализации Brotli. Компания Microsoft выпустила экстренное обновление безопасности для устранения проблемы в .NET и предупредила, что успешная эксплуатация позволяет повысить привилегии в системе.
Ранее по теме: Microsoft выпустила обновление прошивки для Surface Laptop Ultra.
Уязвимость представляет собой переполнение буфера, возникающее из-за некорректной обработки сжатых потоков данных. Декодер ошибочно воспринимает сбой блока как запрос дополнительных данных и продолжает записывать байты во внутренний буфер объемом восемь байт, что приводит к выходу за его пределы и повреждению соседних участков памяти. По данным компании Imperva, эксплуатация уязвимости может привести к удаленному выполнению кода.
Исправления для исходного кода Brotli были подготовлены в феврале, а стабильные патчи для пользователей Node.js и Google вышли 21 октября. Пакеты для Python стали доступны 23 октября. Исправленные версии включают Google Brotli 1.0.10, 1.1.1 и 1.2.1, а также Node.js 22.23.4, 24.22.1 и 26.12.1.
Для устранения угрозы пользователям рекомендуется установить актуальные обновления, перезапустить затронутые процессы и пересобрать контейнеры. В качестве временных мер до установки патчей предлагается отключить поддержку Brotli в приложениях на Python и блокировать входящие сжатые запросы на уровне прокси-серверов или брандмауэров.
Ранее по теме: Microsoft пересмотрела роль процессора Pluton в безопасности Windows 11.

Обсуждение в Telegram ↗