Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Критическая уязвимость в декодировщике Brotli, затрагивающая Node.JS, Bun, браузеры, HTTP-клиенты и другие проекты

Дата публикации: 24-10-2026 16:18:30

В библиотеке с эталонной реализацией декодировщика для формата сжатия данных Brotli выявлена уязвимость (CVE-2026-111497, приводящая к переполнению буфера при обработке специально оформленных сжатых данных. По данным Google уязвимость может использоваться для удалённого выполнения кода при атаке на проекты, использующие официальную реализацию декодировщика Brotli. Среди подобных проектов Node.js, Bun, Envoy, Istio, web-браузеры, прокси-серверы, HTTP-клиенты и -серверы, архиваторы, прокси-серверы, UEFI-прошивки, просмотрщики JPEG XL, декодирующие контент библиотеки для Python, Ruby, Java, PHP и .NET и связанные с ними зависимости.

Основное содержимое страницы с новостью.

В библиотеке с эталонной реализацией декодировщика формата сжатия данных Brotli выявлена уязвимость (CVE-2026-111497, кодовые имена Broccoli2Shell и HTTP2Shell), приводящая к переполнению буфера при обработке специально оформленных сжатых данных. По данным Google уязвимость может использоваться для удалённого выполнения кода при атаке на проекты, использующие официальную реализацию декодировщика Brotli. Среди затрагиваемых уязвимостью проектов: Node.js, Bun, Envoy, Istio, web-браузеры, прокси-серверы, HTTP-клиенты, HTTP-серверы, архиваторы, прокси-серверы, UEFI-прошивки, просмотрщики JPEG XL, декодирующие контент библиотеки для Python, Ruby, Java, PHP и .NET и связанные с ними зависимости.

Проблема была выявлена компанией OpenAI в феврале этого года и блокирована в кодовой базе Brotli через отбрасывание некорректных потоков при декодировании. 22 октября были опубликованы корректирующие выпуски Brotli 1.0.10, 1.1.1 и 1.2.1 в которых явно было заявлено об устранении уязвимости и исправлена суть проблемы. В этот же день был создан прототип эксплоита, позволивший удалённо выполнить код в лабораторных условиях, при использовании нестандартных сборок (в стандартных сборках происходило аварийное завершение). Позднее компания Imperva зафиксировала атаку на штатные сборки Node.js 24.22.0 в Linux-окружении на системе ARM64.

Уязвимость приводит к записи за пределы буфера из-за некорректной обработки ошибок в процессе разбора блоков в сжатом потоке. Функция DecodeBlockTypeAndLength() вместо кода ошибки возвращала только значения true и false, что не позволяло вызывающему коду отличить повреждение потока от состояния, требующего передачи в функцию дополнительных данных. В случае указания в потоке некорректного типа блока сжатых данных, декодировщик воспринимал его не как ошибку, а как состояние нехватки данных, требующее дополнительного чтения из потока. Но так как выделенный буфер не был рассчитан на дополнительно прочитанные данные, они записывались в область за его пределами, в которой хранилось внутреннее состояние декодировщика.

Подверженные уязвимости проекты:

  • Эталонная библиотека brotli, проблема проявляется начиная с выпуска 1.0.3 и устранена в обновления 1.0.10, 1.1.1 и 1.2.1. Уязвимость затрагивает приложения и библиотеки, использующие библиотеку libbrotlidec.
  • JavaScript платформа Node.js, проблема устранена в обновлениях 26.12.1, 24.22.1 и 22.23.4. Атакованы могут быть приложения, использующие для запроса стороннего контента метод fetch(), который автоматически декодирует HTTP-ответы с заголовком "Content-Encoding: br". Также уязвимость проявляется при прямом вызове методов zlib.brotliDecompress*(), createBrotliDecompress() и brotli.decompress() для распаковки стороннего содержимого или при приёме HTTP-запросов с разбором через библиотеки Express 5 и body-parser 2.x.
  • Python-пакеты brotli и brotlicffi (исправление предложено в версии 1.2.1) и использующие их проекты, среди которые популярные библиотеки urllib3, aiohttp, httpx и Scrapy, которые декодируют ответы с заголовком "Content-Encoding: br" при обращении к внешним web-ресурсам.
  • HTTP-серверы, HTTP-прокси, HTTP-клиенты и web-браузеры, поддерживающие сжатие Brotli ("Accept-Encoding: br"). В Apache httpd поставляется mod_brotli (отключён по умолчанию). Для nginx доступен сторонний модуль ngx_brotli (уязвимость уже устранена). В Chrome/Chromium и Firefox проблема уже устранена в одном из прошлых обновлений. В прокси-сервере Envoy уязвимость устранена в выпусках 1.40.0, 1.39.3, 1.38.6, 1.37.8, 1.36.12.
  • .NET runtime при использовании в приложении методов BrotliDecoder, BrotliStream и HttpClient. Уязвимость пока не устранена.
  • PHP-расширение brotli при использовании функции brotli_uncompress(). Исправление в процессе подготовки.
  • Ruby-пакет brotli при использовании метода Brotli.inflate. Уязвимость пока не устранена.
  • СУБД DuckDB при импорте сжатых Parquet-файлов. Исправление в процессе подготовки.
  • СУБД ClickHouse. Исправление в процессе подготовки.
  • СУБД YDB. Уязвимость пока не устранена.
  • Apache Arrow при импорте сжатых Parquet-файлов. Исправление в процессе подготовки.
  • libjxl (при сжатии метаданных в JPEG XL используется Brotli). Исправление в процессе подготовки.
  • Архиваторы NanaZip, 7-Zip-zstd и p7zip при распаковке br-файлов. Уязвимость не устранена.
  • MuPDF. Уязвимость не устранена.
  • UEFI-прошивки на базе EDK II и UEFITool, сжатые при помощи Brotli. Исправление в процессе подготовки - EDK II и UEFITool.
  • JavaScript-платформа Bun. Уязвимость устранена в версии 1.4.4.
  • Платформа для управления микросервисами Istio. Уязвимость устранена в версиях 1.29.9, 1.30.6 и 1.31.2.
  • curl и libcurl, уязвимость проявляется при наличии в зависимостях уязвимой версии libbrotlidec.
  • Brotli4j, SumatraPDF, Ghostscript, CatBoost и YTsaurus. Уязвимость устранена в одном из обновлений.

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1Раскрыты эксплоиты для 23 неисправленных уязвимостей в FFmpeg, VLC, Firefox, Docker, PHP, OpenVPN, nmap, libssh2, nghttp2 и 7zip0728-06-2026
2Две критические уязвимости в PHP (CVE-2026-109618 и CVE-2026-109619): что известно и как защититься011.1423-10-2026
3Серверы, обеспечивающие безопасность интернета, выводят из строя 11 байт вредоносного кода0721-07-2026
4Серверы, обеспечивающие безопасность интернета, выводят из строя 11 байт вредоносного кода-2721-07-2026
5Critical BlockStrap flaw lets hackers run code on Magento servers09.8216-10-2026
6CVE-2026-34197: Apache ActiveMQ Jolokia API Remote Code Execution010.3424-08-2026
7Security advisories: Drupal core - Moderately critical - Cross-site scripting - SA-CORE-2026-0110715-07-2026
8Уязвимости в Unbound, Kata-Containers, BIND, PostgreSQL, HPLIP, MongoDB, Rsync, 7-zip, Yelp, qSnapper и Suricata0528-05-2026
9🚨 Patch-Stress im Mai 2026027.809-05-2026

Классификация: Пресс-релизы. Схожих патентов: 0. Схожих новостей: 9. Тональность: 0. Информативность: 11.49. Источник: www.opennet.ru.