ИНТЕЛЛЕКТ / ТЕХНОЛОГИИ / БЕЗОПАСНОСТЬ
O19.ИИ и безопасностьЧитать в Telegram

Критическая уязвимость в декодере Brotli угрожает Node.js, Bun и Python

Редакция O19
Иллюстрация уязвимости в коде сжатия Brotli
ИИ-иллюстрация · O19

В начале октября была раскрыта критическая уязвимость памяти в декодере сжатых данных Brotli, которая позволяет злоумышленникам выполнить удалённый код (RCE) или вызвать краш программы. Ошибка отслеживается под идентификатором CVE-2026-111497 и связана с тем, что при обработке специально сконструированных сжатых пакетов происходит запись за пределы буфера памяти.

Хотя уязвимость была обнаружена в контексте Node.js, её влияние гораздо шире. Она затрагивает не только эту среду выполнения, но и популярный конкурент Bun, библиотеки Python (brotli, brotlicffi) а также прокси-сервер Envoy. Проблема актуальна для любого программного обеспечения, которое автоматически распаковывает данные со сжатием Brotli.

Google оценивает критичность данной ошибки как 9.2 из 10 по шкале CVSS v4.0, классифицируя её как критическую. Исследователи Imperva и другие специалисты подтвердили возможность эксплуатации: злоумышленник может атаковать как сервер, принимающий сжатые запросы, так и клиентское приложение, если оно декодирует входящие ответы.

Несмотря на высокую оценку риска, на данный момент нет подтверждённых случаев использования этой уязвимости в дикой природе. CISA зафиксировала эксплуатацию как отсутствующую, а Red Hat отметила, что надёжного публичного кода для демонстрации эксплуатации пока не существует.

История исправления этой ошибки имеет необычный характер: патч был добавлен в исходный код библиотеки ещё 27 февраля 2026 года, но официальное обновление с исправлением появилось только 21 октября. Это привело к тому, что многие системы продолжали работать с уязвимым кодом на протяжении нескольких месяцев.

Для защиты рекомендуется немедленно обновить версии библиотек Brotli до исправленных версий (например, для Node.js это версии 22.23.4, 24.22.1 и 26.12.1). Если обновление невозможно в краткосрочной перспективе, необходимо отключить автоматическое декодирование Brotli в HTTP-клиентах и прокси, либо явно отклонять входящие запросы с заголовком Content-Encoding: br.

Источники