Следвай Kaldata в Google: Слушай статията0:00 / ~4:521×

Microsoft пусна непланирани актуализации на сигурността за .NET 8, .NET 9 и .NET 10, а също така публикува третата предварителна версия на .NET 11 Release Candidate 3. Кръпките отстраняват две сериозни уязвимости – едната е свързана с обработката на компресираните данни и засяга всички платформи, а другата се отнася до определени .NET дистрибуции за Linux.

Компанията препоръчва засегнатите среди да бъдат актуализирани възможно най-скоро. Проблемите могат да засегнат приложенията, които използват .NET за обработка на данните, а в някои случаи могат да доведат до изтичане на информация, прекъсване на работата на приложенията или повишаване на привилегиите за нападател.

Уязвимостта на Brotli засяга всички платформи

Първият проблем, регистриран като CVE-2026-111497, е свързан с препълване на буфера при използване на алгоритъма за декомпресия Brotli в .NET.

При определени условия, грешката може да позволи на неоторизиран нападател да прочете или повреди паметта на процеса. Потенциалните последици включват разкриване на чувствителни данни, отказ на услуга и повишаване на привилегиите.

Уязвимостта засяга всички платформи, на които работят съответните .NET компоненти. Приложенията, които обработват компресираните данни чрез декомпресия на заявки в ASP.NET Core, автоматична декомпресия на HTTP отговорите в HttpClient или Brotli API от библиотеката System.IO.Compression, може да са изложени на риск.

Това не означава, че всяко .NET приложение е автоматично уязвимо. Рискът зависи от това дали то използва подходящите компоненти и как обработва данните.

Втората грешка се отнася до Linux

Втората уязвимост, CVE-2026-114148, се отнася до метаданните за собственост на злонамерените файлове в определени .NET архиви. При определени условия, локален атакуващ може да модифицира файлове и да получи повишени привилегии.

За разлика от проблема с Brotli, тази уязвимост засяга само Linux и зависи от вида на дистрибуцията и начина, по който е получена.

За .NET 10 и .NET 11 проблемът засяга архивите за компилация на изходния код, публикувани в интернет. В случая с .NET 8 и .NET 9, той засяга и дистрибуциите на ASP.NET Core, получени чрез съответните архиви. Следователно, кръпката е важна дори за потребителите, които не компилират сами .NET от изходния код.

Microsoft също така преиздаде кръпки за две предварително обявени уязвимости през октомври: CVE-2026-70197, която включва повреда на паметта в SocketAsyncEventArgs, и CVE-2026-102870, която засяга дебъгера на Blazor WebAssembly. Компанията обясни, че предишните актуализации не са отстранили напълно тези проблеми.

Как правилно да инсталирате .NET актуализациите?

Методът на актуализиране зависи от това как е внедрено приложението:

„Приложения със зависимост от инсталираната среда за изпълнение: Инсталирайте актуализираната версия на средата за изпълнение за необходимата версия на .NET и рестартирайте приложението. Самостоятелни приложения (self-contained): Преработете и публикувайте отново приложението с актуализираната среда за изпълнение. Типичната актуализация на .NET на сървъра не променя средата за изпълнение, вградена в такова приложение. Контейнери: Възстановете образите въз основа на актуализираните .NET образи и преразположете контейнерите. Изграждане от изходния код: Вземете актуализираните артефакти на изходния код за вашата .NET версия и възстановете пакетите. Потребителите на ASP.NET Core архивите за .NET 8 и .NET 9: Инсталирайте актуализирания ASP.NET Core Runtime архив, дори ако не изграждате платформата сами.

Можете да проверите инсталираните среди за изпълнение с командата dotnet –list-runtimes.

Тъй като актуализациите поправят грешки, които потенциално оказват влияние върху поверителността на данните и сигурността на системата, администраторите и разработчиците трябва да прегледат всички среди, в които се изпълняват съответните версии на .NET, за да се уверят, че кръпките са приложени правилно.