Microsoft экстренно выпустила обновления .NET из-за опасной ошибки в Brotli, которая позволяет атаковать приложения через сжатые данные. Уязвимость уже получила несколько громких названий, а исследователи опубликовали рабочие примеры эксплуатации.
Проблема CVE-2026-111497 скрывается в декодере Brotli, который восстанавливает данные после сжатия. Из-за ошибки программа может записывать информацию за пределами выделенной памяти. Специально подготовленный поток позволяет вызвать сбой, раскрыть содержимое памяти или повысить привилегии. Для начала атаки злоумышленнику не обязательно проходить авторизацию.
Уязвимость обнаружила команда Imperva Red Team. Ошибка затронула не только продукты Microsoft, но и Node.js, Python, Bun и ряд других платформ. Исследователи уже продемонстрировали удалённое выполнение кода в уязвимой среде Node.js. Проблему называют Broccoli2Shell, Node2Shell и HTTP2Shell, хотя все обозначения относятся к одному дефекту.
Microsoft выпустила внеплановые исправления 25 октября. Безопасные версии .NET 8, .NET 9 и .NET 10 получили номера 8.0.33, 9.0.22 и 10.0.14 соответственно. Для предварительной версии .NET 11 вышел Release Candidate 3. Компания рекомендует обновиться как можно скорее, не дожидаясь очередного планового выпуска исправлений.
При этом опасность возникает не во всех приложениях .NET. Стандартные настройки ASP.NET Core и HttpClient не предусматривают автоматическую распаковку Brotli. Риск появляется, когда разработчик самостоятельно включает соответствующую функцию или обрабатывает недоверенные данные через BrotliStream и BrotliDecoder. Классический .NET Framework уязвимость не затрагивает.
Обновление общей среды .NET не всегда решает проблему. Если приложение содержит собственную копию среды выполнения, разработчикам придётся пересобрать программу и выпустить новую версию. Контейнеры также необходимо пересобрать на основе исправленных образов. Проверить установленные среды можно командой dotnet --list-runtimes, но встроенные в приложения компоненты требуют отдельной проверки.
Экстренный пакет закрывает и другие проблемы. CVE-2026-114148 связана с небезопасными сведениями о владельцах файлов в некоторых Linux-архивах .NET. Дополнительно Microsoft повторно исправила CVE-2026-70197 и CVE-2026-102870, поскольку обновления от 13 октября не полностью устранили соответствующие ошибки.
Согласно официальному бюллетеню, администраторам следует обновить среды выполнения, перезапустить приложения и отдельно проверить автономные сборки. Пока обновление недоступно, можно отключить распаковку недоверенных потоков Brotli. Публичные примеры эксплуатации уже существуют, но подтверждённых атак злоумышленников на реальные системы пока нет.
Ранее специалисты выяснили, что уязвимый Brotli присутствует сразу в нескольких популярных экосистемах. Одна ошибка в общей библиотеке затронула веб-серверы, приложения и облачные прокси. Поэтому администраторам приходится проверять не только системные пакеты, но и зависимости отдельных программ.
