Уязвимость в декодере Brotli от компании Google, первоначально названная "node2shell", затрагивает и другие программные продукты. Администраторам следует как можно скорее обновить свои системы.
На прошлой неделе была обнаружена уязвимость в Node.js, которая быстро получила название "node2shell". Эта уязвимость связана с декодером алгоритма сжатия Brotli, разработанного компанией Google. Злоумышленники могут использовать ее для внедрения вредоносного кода извне в сеть. Теперь стало ясно: ошибка содержится непосредственно в библиотеке Brotli и затрагивает гораздо больше программного обеспечения, использующего эту библиотеку.
Уязвимость была обновлена. Она связана с потенциальной переполненностью буфера в декодере Brotli компании Google в версиях от 1.0.3 до 1.2.0 на всех платформах. Неавторизованные злоумышленники из сети могут использовать специально подготовленные потоки данных Brotli для вызывания ошибок в управлении памятью, что может привести к чтению конфиденциальных областей памяти, организации отказа в обслуживании (DoS) или даже внедрению и выполнению произвольного вредоносного кода (CVE-2026-111497, CVSS4 9.2, уровень риска "критический"). Эта уязвимость теперь получила новое неофициальное название: "Broccoli2Shell", вместе с собственным веб-сайтом и доменом.
Согласно информации от Google, уязвимость в безопасности устранена в версиях Brotli 1.0.10, 1.1.1 и 1.2.1. Обновленные версии Node.js, содержащие исправления, имеют номера 26.12.1, 24.22.1 и 22.23.4 и были выпущены на прошлой неделе. Для Python доступны библиотеки "Brotli" в версии 1.2.1 и "brotlicffi" в версии 1.2.1.0, которые также устраняют эту уязвимость. Также затронуто программное обеспечение, использующее Brotli через привязки к коду на C, например, Java-JNI-обертки, расширения для PHP и Ruby, а также привязки Go-cgo. Пользователям, использующим такое программное обеспечение, следует обращать внимание на сборки, содержащие версии Brotli с указанными выше номерами версий.
Разнообразное программное обеспечение с поддержкой кодека Brotli может быть уязвимо.
Компания Aikido, специализирующаяся на IT-безопасности, в своем анализе перечислила другие затронутые программные продукты, включая C++, Bun и Envoy. Для Apache и Nginx есть некоторая позитивная информация: по крайней мере, в стандартных конфигурациях они не используют кодирование Brotli. Анализ содержит дополнительные рекомендации о том, как администраторы могут временно отключить декодирование Brotli до установки обновления. Также затронута платформа .NET: компания Microsoft с 25 октября распространяет обновления для поддерживаемых сред выполнения и SDK. На веб-сайте Broccoli2Shell также представлен список множества версий программного обеспечения, которые либо уязвимы, либо уже исправлены. Администраторам следует проверить, используют ли они какие-либо из этих версий, и оперативно устанавливать обновления или применять временные меры защиты до установки обновлений.
Согласно информации от компании Aikido, уязвимость была обнаружена еще в феврале компанией OpenAI. Однако, исправление в исходном коде на тот момент не было классифицировано как устранение угрозы безопасности, и исправленная версия была выпущена только сейчас.
В настоящее время существуют готовые эксплойты, демонстрирующие концепцию (proof-of-concept), некоторые из которых даже находятся в открытом доступе. Компании Imperva уже удалось выполнить код на немодифицированной сборке Node.js с помощью этих эксплойтов, хотя и после нескольких попыток. На данный момент случаи использования этих уязвимостей в реальных атаках неизвестны.
Первоисточник — Heise
Сообщите редакции. Существенные исправления мы отмечаем в материале
