После внепланового обновления .NET от 25 октября важно проверить не только серверный runtime, но и встроенные копии в приложениях. Разбираем порядок обновления разных способов развёртывания.
Что исправлено и кому нужна проверка
25 октября 2026 года Microsoft выпустила внеплановые обновления .NET, а 30 октября MSRC уточнил порядок действий для администраторов. Поводом стала уязвимость CVE-2026-111497 в обработке сжатых данных Brotli. Для поддерживаемых веток в объявлении указаны исправленные версии среды выполнения: 8.0.33, 9.0.22 и 10.0.14.
Риск связан с приложениями, обрабатывающими Brotli через декомпрессию запросов ASP.NET Core, автоматическую декомпрессию ответов HttpClient или API System.IO.Compression. Первые два механизма не включены по умолчанию. Старый .NET Framework, поставляемый вместе с Windows, этим уведомлением не затронут: сначала определите, какая платформа действительно используется вашим приложением.
Начните с инвентаризации
На сервере выполните dotnet --list-runtimes и сохраните вывод. Microsoft предлагает эту команду для проверки установленных сред выполнения. Затем выясните способ развёртывания каждого приложения: использует ли оно общий runtime машины, несёт собственную копию или работает в контейнере. Одного вывода команды недостаточно для проверки всех трёх вариантов.
- Общий runtime на сервере: установите исправление нужной ветки .NET, затем перезапустите приложение.
- Самодостаточная сборка: обновите SDK и включённый runtime, пересоберите и заново опубликуйте приложение.
- Контейнер: используйте обновлённый базовый образ, пересоберите образ приложения и повторно разверните его.
- Native AOT: MSRC также требует обновлённый SDK, новую сборку и повторную публикацию.
Проверка после развёртывания
Для приложения с общей средой выполнения повторно проверьте наличие исправленной версии после установки и убедитесь, что процесс действительно перезапущен. Для самодостаточной сборки проверьте новый опубликованный артефакт, а для контейнера — новый образ и его развёртывание. Обновление хостовой машины не изменяет автоматически runtime, уже упакованный внутрь приложения.
Практически полезно составить список «приложение — способ развёртывания — установленная версия — дата перезапуска». Это редакционная рекомендация для учёта работ, а не новый инструмент Microsoft. Такой список помогает обнаружить забытый контейнер или отдельную копию программы, когда основная машина уже показывает исправленную версию и создаёт впечатление завершённого обновления.
Что учитывать в Linux и Windows
Для пользователей архивных поставок ASP.NET Core 8 и 9 в объявлении отдельно указано обновление Runtime из обновлённых tarball-архивов. Внеплановый выпуск исправляет и проблему метаданных владельца файлов в Linux. Если вы собираете платформу из исходников, нужны обновлённые исходные артефакты и повторная сборка пакетов, а не только замена исполняемого файла приложения.
MSRC предупреждает: Windows Update доставляет эти обновления .NET через Microsoft Update только при включённом получении обновлений других продуктов Microsoft. Проверьте фактическую версию, а не полагайтесь исключительно на сообщение об актуальности Windows. Для .NET 11 в сообщении предусмотрен переход с RC2 на RC3; это предварительная ветка, отличная от перечисленных стабильных выпусков.
Границы проверки
Редакция сверила порядок действий с объявлением команды .NET и рекомендациями MSRC; эксплуатационное тестирование приложений не проводилось. После обновления выполните обычные проверки своего сервиса, включая обработку сжатых данных, если она используется. Наличие новой версии подтверждает установку исправления, но не заменяет проверку работоспособности конкретного приложения.
Источники
- Microsoft .NET Blog: внеплановые обновления октября — 2026-10-25
- MSRC: рекомендации по исправлению Brotli — 2026-10-30
