Коротко о главном
- Microsoft выпустила внеплановые (out-of-band) обновления безопасности для .NET 8, 9, 10 и .NET 11 Release Candidate 3.
- Уязвимость CVE-2026-111497 (также известна как Broccoli2Shell, Node2Shell, HTTP2Shell) критическое переполнение буфера в декодере Brotli.
- Исправленные версии: .NET 8.0.33, .NET 9.0.22, .NET 10.0.14 и .NET 11 RC3.
- Обновления также включают исправление CVE-2026-114148 проблемы с правами владения в Linux tar-архивах .NET.
- Уязвимость затрагивает приложения, которые явно включили декомпрессию Brotli через ASP.NET Core,
HttpClientилиSystem.IO.Compression. - .NET Framework не подвержен уязвимости.
- Microsoft рекомендует обновиться как можно скорее.
- Публичные proof-of-concept эксплойты уже существуют, но случаев активной эксплуатации пока не зафиксировано.
Что произошло и почему это срочно
26 октября 2026 года Microsoft выпустила внеплановые обновления безопасности для всех поддерживаемых версий .NET. Причина критическая уязвимость CVE-2026-111497 в декодере Brotli, которая получила неофициальное название Broccoli2Shell (также Node2Shell и HTTP2Shell).
Уязвимость представляет собой переполнение буфера за границами выделенной памяти (out-of-bounds write) в декодере Brotli алгоритме сжатия Google, который широко используется для уменьшения размера передаваемых по сети данных.
Атака возможна, когда приложение обрабатывает сжатые данные Brotli, контролируемые злоумышленником. Это может быть вредоносный сжатый ответ от сервера, который клиент автоматически распаковывает, или сжатый запрос, отправленный напрямую на сервер.
Google присвоил уязвимости оценку 9.2 из 10 по шкале CVSS v4.0 (критический уровень). Microsoft оценивает её в 8.1 по CVSS v3.1 для .NET.
Какие версии .NET затронуты и как исправить
Обновления выпущены для следующих версий:
| Версия .NET | Обновление | Ссылка на загрузку |
|---|---|---|
| .NET 8 | 8.0.33 | .NET 8 SDK и Runtime |
| .NET 9 | 9.0.22 | .NET 9 SDK и Runtime |
| .NET 10 | 10.0.14 | .NET 10 SDK и Runtime |
| .NET 11 | Release Candidate 3 | .NET 11 SDK и Runtime |
Данные о версиях взяты из официального блога .NET.
Как обновиться в зависимости от типа развёртывания
Способ обновления зависит от того, как именно развёрнуто ваше приложение.
- Framework-dependent приложения. Достаточно установить обновлённый runtime и перезапустить приложение.
- Self-contained приложения. Необходимо пересобрать и повторно опубликовать приложение с новой версией runtime.
- Контейнеры. Требуется обновить базовые образы и пересобрать контейнеры.
- Приложения, собранные из исходного кода (source-build). Нужно обновить соответствующие артефакты сборки.
- Пользователи ASP.NET Core tar-архивов. Следует загрузить обновлённые tar-архивы.
Вторая уязвимость: CVE-2026-114148 (только Linux)
Помимо проблемы с Brotli, обновления исправляют уязвимость CVE-2026-114148, которая затрагивает только Linux.
Описание уязвимости: небезопасные метаданные владения в затронутых tar-архивах .NET. Локальный злоумышленник может изменить файлы и получить повышенные привилегии.
Какие именно tar-архивы затронуты:
- Для .NET 10 и .NET 11 только tar-архивы source-build.
- Для .NET 8 и .NET 9 также дистрибутивы ASP.NET Core, полученные через tar-архивы ASP.NET Core, включая пользователей, которые не собирают .NET из исходного кода.
Кто подвержен риску в первую очередь
Уязвимость CVE-2026-111497 не затрагивает приложения, которые просто используют .NET без явного включения декомпрессии Brotli. В стандартной конфигурации .NET и ASP.NET Core декомпрессия Brotli отключена.
Приложения подвержены риску, если они обрабатывают сжатые данные Brotli следующими способами:
- ASP.NET Core request decompression промежуточное ПО для автоматической распаковки входящих запросов.
-
HttpClient automatic response decompression автоматическая распаковка ответов, когда для
HttpClientHandlerвключён параметрAutomaticDecompression. -
Прямые вызовы API
System.IO.Compression.Brotliнапример,BrotliStreamилиBrotliDecoder.
Если ваше приложение не использует ни один из этих сценариев, риск заражения через данную конкретную уязвимость минимален. Однако Microsoft всё равно рекомендует установить обновления, поскольку они также исправляют другие проблемы (см. следующий раздел).
Дополнительные исправления в этом обновлении
Внеплановый выпуск также завершает два исправления, которые Microsoft пыталась внести в рамках обычного Patch Tuesday 13 октября 2026 года, но они не были применены полностью:
-
CVE-2026-70197 повреждение памяти в
SocketAsyncEventArgs. Затрагивает .NET 8, 9, 10 и 11. - CVE-2026-102870 отладчик Blazor WebAssembly. Затрагивает .NET 10 и 11.
Новые пакеты содержат полные исправления для этих уязвимостей.
Что делать, если обновиться прямо сейчас невозможно
Если вы не можете немедленно установить обновления, Microsoft и исследователи безопасности рекомендуют временные меры:
- Заблокируйте входящие запросы со сжатием Brotli на уровне прокси-сервера или межсетевого экрана.
- Отключите декодирование Brotli в приложении до момента установки патча.
Важно: обновление системной библиотеки Brotli (например,
libbrotliв Linux) не устраняет риск в приложениях, которые содержат собственную копию библиотеки. Каждое такое приложение требует отдельного обновления.
Затронуты ли другие продукты Microsoft
Да. Помимо .NET, Microsoft выпустила исправления для:
- Visual Studio. Уязвимость оценена как критическая.
- PowerShell. Уязвимость оценена как важная.
Обновления также доступны для Node.js, Python-пакетов Brotli и brotlicffi, Bun, Envoy, Istio и других проектов, которые используют уязвимый декодер.
Часто задаваемые вопросы
Что такое CVE-2026-111497?
Это критическая уязвимость переполнения буфера в декодере Brotli, библиотеке сжатия Google. Неофициальные названия: Broccoli2Shell, Node2Shell, HTTP2Shell. Оценка Google: 9.2 (критическая) по CVSS v4.0.
Какие версии .NET нужно обновить?
.NET 8 до версии 8.0.33, .NET 9 до 9.0.22, .NET 10 до 10.0.14, .NET 11 до Release Candidate 3.
Затрагивает ли уязвимость .NET Framework?
Нет. Уязвимость CVE-2026-111497 не затрагивает .NET Framework.
Моё приложение использует .NET, но я не включал Brotli. Я в безопасности?
Вероятно, да, с точки зрения данной конкретной уязвимости. Декомпрессия Brotli в .NET по умолчанию отключена. Риск возникает только при явном включении декомпрессии через ASP.NET Core, HttpClient или прямые вызовы API System.IO.Compression. Однако обновление всё равно рекомендуется, так как оно содержит исправления для CVE-2026-70197 и CVE-2026-102870.
Нужно ли обновлять системную библиотеку Brotli в Linux, или достаточно обновить .NET?
Обновление системной библиотеки Brotli не заменяет обновление .NET. Приложения .NET, которые содержат собственную копию декодера, должны быть обновлены через патчи .NET.
Существуют ли эксплойты для этой уязвимости?
Да, публичные proof-of-concept эксплойты уже опубликованы на GitHub. Однако по состоянию на 26 октября 2026 года сообщений об активной эксплуатации в реальных атаках не поступало.
Что такое CVE-2026-114148?
Это отдельная уязвимость в Linux tar-архивах .NET, связанная с небезопасными метаданными владения файлами. Локальный злоумышленник может изменить файлы и повысить привилегии. Исправлена в тех же обновлениях.
Где скачать обновления?
Обновления доступны на официальных страницах загрузки .NET: dotnet.microsoft.com/download.
Что в итоге
- Обновите .NET немедленно. Экстренные патчи для CVE-2026-111497 (Brotli) и CVE-2026-114148 (Linux tar) доступны для .NET 8, 9, 10 и 11 RC3.
- Проверьте, использует ли ваше приложение декомпрессию Brotli. Если да обновление критически важно. Если нет риск ниже, но обновление всё равно рекомендуется из-за дополнительных исправлений.
- Помните о self-contained и контейнерных развёртываниях. Для них простого обновления runtime недостаточно: требуется пересборка.
- Не полагайтесь только на обновление системной библиотеки Brotli. Встроенные копии декодера в приложениях требуют отдельных патчей.






