Услуги Портфолио Контакты БлогНовости +7 (800) 511‑32‑27 Обсудить проект
Безопасность

Microsoft выпустила внеплановые обновления .NET: критическая уязвимость в декодере Brotli и небезопасные права в архивах для Linux

27 октября 2026·5 мин чтения
.NETASP.NET Core
Внеплановое обновление безопасности .NET: уязвимость в декодере Brotli

25 октября 2026 года Microsoft вне планового графика выпустила .NET 8.0.33, 9.0.22, 10.0.14 и .NET 11 RC3. Главное исправление — критическая CVE-2026-111497: запись за границы буфера в декодере Brotli, через которую атакующий без аутентификации может читать или портить память процесса. Под риском приложения, распаковывающие Brotli из недоверенных источников. Обновляться нужно сейчас, не дожидаясь ноябрьского Patch Tuesday.

Это та же уязвимость, которую четырьмя днями раньше закрыл Node.js, — подробности в нашей новости про патч Node.js с RCE в Brotli. Теперь очередь платформы Microsoft: если ваш бэкенд или API на ASP.NET Core принимает сжатые тела запросов или распаковывает ответы внешних сервисов, выпуск касается вас напрямую.

Для команд, которые ведут веб-разработку на .NET, важна и вторая часть выпуска: исправлены права в архивах .NET для Linux, а два патча от 13 октября пришлось выпустить повторно, потому что они закрыли проблемы не полностью.

Что вошло во внеплановый выпуск .NET

Выпуск содержит четыре исправления безопасности. Два — новые, ещё два — переизданные патчи октябрьского вторника обновлений.

  • CVE-2026-111497 (критическая) — запись за границы буфера в декодере Brotli на всех платформах. Возможные последствия, по оценке Microsoft: раскрытие информации, отказ в обслуживании или повышение привилегий. Компания относит уязвимость к категории «эксплуатация более вероятна».
  • CVE-2026-114148 — небезопасные метаданные владельца файлов в tarball-архивах .NET для Linux. Локальный атакующий может изменить файлы установки и повысить привилегии. Для .NET 8 и 9 это затрагивает архивы ASP.NET Core, в том числе у тех, кто никогда не собирал .NET из исходников.
  • CVE-2026-70197 (переиздание) — повреждение памяти в SocketAsyncEventArgs (сокеты Windows): исправление от 13 октября оказалось неполным.
  • CVE-2026-102870 (переиздание) — уязвимость в отладчике автономных пакетов Blazor WebAssembly на .NET 10 и 11; октябрьский патч тоже потребовал доработки.

.NET Framework, по данным Microsoft, не затронут.

Каким приложениям на ASP.NET Core угрожает уязвимость Brotli

Brotli — формат сжатия, который широко используется в HTTP (Content-Encoding: br). Уязвимый код срабатывает только тогда, когда приложение действительно распаковывает Brotli-данные. Microsoft перечисляет три пути:

  • распаковка входящих запросов в ASP.NET Core (Request Decompression middleware);
  • автоматическая распаковка ответов в HttpClient;
  • прямой вызов Brotli API из System.IO.Compression.

Первые два механизма по умолчанию выключены, поэтому «голый» шаблон ASP.NET Core не уязвим. Но в реальных проектах распаковку нередко включают — ради экономии трафика между микросервисами или при интеграции с внешними API, которые отдают br. Именно такие сервисы стоит проверить в первую очередь. По данным BleepingComputer, на GitHub уже опубликованы доказательства концепции (PoC); подтверждённых атак в реальной среде на момент выхода патча не зафиксировано.

До каких версий обновлять .NET

  • .NET 8 → 8.0.33 (SDK 8.0.133 / 8.0.427).
  • .NET 9 → 9.0.22 (SDK 9.0.123 / 9.0.320).
  • .NET 10 → 10.0.14 (SDK 10.0.114 / 10.0.403).
  • .NET 11 → Release Candidate 3 (SDK 11.0.100-rc.3). Если вы уже тестируете предрелиз — о прошлом кандидате мы писали в новости про .NET 11 RC2.

Обновлённые контейнерные образы опубликованы в Microsoft Container Registry.

Что сделать команде разработки

  1. Найдите все рантаймы .NET: серверы, базовые Docker-образы, CI-агенты, self-contained-сборки. В self-contained-публикации рантайм вшит в приложение — его нужно пересобрать на новом SDK.
  2. Поищите в коде включённую распаковку: AddRequestDecompression, AutomaticDecompression у HttpClientHandler/SocketsHttpHandler, прямые вызовы BrotliStream и BrotliDecoder.
  3. Если обновиться прямо сейчас нельзя — временно отключите Brotli-распаковку или блокируйте входящие запросы с Content-Encoding: br на прокси. Обновление системной библиотеки brotli не поможет: .NET использует собственную копию декодера.
  4. Для CVE-2026-114148 на Linux одного обновления рантайма мало: Microsoft требует чистой переустановки затронутых установок из tarball-архивов.
  5. Пересоберите проекты на Blazor WebAssembly под .NET 10/11, если ставили октябрьский патч 13-го числа и считали вопрос закрытым.

Часто задаваемые вопросы

Мой сервис не принимает сжатые запросы. Нужно ли обновляться? Да. Даже если вход не распаковывается, HttpClient может распаковывать ответы внешних сервисов, а библиотеки — вызывать Brotli API напрямую. Проще поставить патч, чем доказывать, что ни один путь не задействован.

Затронут ли .NET Framework 4.x? Нет, по данным Microsoft, выпуск касается только современного .NET (8, 9, 10 и предрелиза 11).

Связана ли эта уязвимость с патчем Node.js? Да, у них общий идентификатор CVE-2026-111497: ошибка находится в декодере Brotli, который используют разные платформы. Поэтому имеет смысл проверить и другие компоненты стека, где Brotli распаковывается встроенной копией библиотеки.

Источники

Материал подготовлен редакцией YuSMP Group по открытым источникам. Нужна экспертиза по теме или разработка под задачу — обсудим проект.

Нужно срочно обновить .NET-сервисы?

Найдём все рантаймы и self-contained-сборки, обновим .NET и зависимости, пересоберём контейнеры и прогоним регресс — чтобы внеплановый патч не превратился в простой продакшена.

Заказать поддержку .NET-приложения