Aplikace může přijímat běžný provoz HTTPS, a přesto zpracovávat nebezpečný vstup, pokud rozbaluje data Brotli dodaná uživatelem. Microsoft 25. října 2026 vydal mimořádné aktualizace .NET, které řeší přetečení vyrovnávací paměti v dekodéru Brotli; zranitelnost má označení CVE-2026-111497. Node.js zahrnul opravu téže zranitelnosti do samostatného bezpečnostního vydání z 21. října. Prvním krokem pro vývojáře je najít cestu od externích dat k dekodéru a poté aktualizovat runtime a aplikaci znovu sestavit nebo restartovat.

Podle popisu společnosti Microsoft může zranitelnost v .NET umožnit neověřenému útočníkovi číst nebo poškozovat paměť procesu, což může vést k úniku dat, odepření služby nebo zvýšení oprávnění. Opravy jsou k dispozici pro .NET 8, 9 a 10 a také .NET 11 Release Candidate 3. Pro .NET 8 jsou uvedeny runtime 8.0.33 a SDK 8.0.133 nebo 8.0.427. Zranitelnost se .NET Frameworku netýká.
Kde vzniká riziko
Riziko vzniká, když aplikace předá nedůvěryhodný proud Brotli zranitelnému dekodéru. V .NET k tomu může docházet při použití decomprese požadavků ASP.NET Core, automatickém rozbalování odpovědí přes HttpClient nebo přímém volání API z System.IO.Compression, například BrotliStream a BrotliDecoder. Doporučení pro .NET vyjmenovává tyto cesty a uvádí, že dekomprese příchozích požadavků i automatické rozbalování odpovědí jsou ve výchozím nastavení vypnuté.
Inventarizace balíčků je pouze začátek kontroly. Prohledejte konfigurace middleware a HTTP klientů, přímá volání dekodéru i komponenty třetích stran, které přijímají komprimovaná data. Zjistěte, zda taková data přicházejí od klientů, webhooků, proxy nebo externích API a jaká omezení velikosti a doby zpracování se uplatňují před rozbalením. Pomůže vám to určit, kde zranitelný kód přijímá data ovládaná zvenčí.
Aktualizace .NET
Nainstalujte aktualizaci pro používanou větev: .NET 8 — 8.0.33, .NET 9 — 9.0.22, .NET 10 — 10.0.14; pro .NET 11 použijte Release Candidate 3. U aplikací závislých na frameworku nainstalujte aktualizovaný runtime a aplikaci restartujte. Samostatně distribuované aplikace je nutné znovu sestavit a publikovat: aktualizace runtime na hostiteli nenahradí jeho kopii zahrnutou v aplikaci. Kontejnery znovu sestavte a nasaďte s aktualizovanými obrazy .NET.
Pro NativeAOT při opětovném publikování použijte také aktualizované SDK a balíčky runtime. Pokud opravu zatím nelze nasadit, dočasně zakažte Brotli na zjištěných vstupních cestách, které přijímají nedůvěryhodná data. Otestujte běžné požadavky i integrace: vypnutí komprese může změnit zpracování klientů, kteří odesílají komprimovaná těla požadavků.
Zkontrolujte Node.js a systémové závislosti
Projekt Node.js oznámil zranitelnost 21. října: zasažen je dekodér Brotli integrovaný v Node.js 22.x, 24.x a 26.x. Bezpečnostní vydání Node.js uvádí opravené verze 22.23.4, 24.22.1 a 26.12.1. Aktualizujte používanou podporovanou větev a službu restartujte. Podle popisu projektu problém vzniká, když aplikace rozbaluje data dodaná útočníkem pomocí node:zlib; poškození paměti může vést k pádu, úniku paměti nebo vzdálenému spuštění kódu.
Zkontrolujte také závislosti dodávané odděleně od systémového Node.js nebo .NET. Ověřte verze Brotli v kontejnerech a sestavovacích artefaktech a po nasazení kontrolu zopakujte. V CI připněte aktualizovaný základní obraz a zahrňte kontrolu verzí zranitelných knihoven do běžného procesu sestavení.
Stručný postup
- Sestavte seznam aplikací, SDK, runtime, kontejnerů a sestavení NativeAOT, které používají Brotli.
- Najděte místa, kde externí data procházejí automatickým nebo přímým dekódováním.
- Aktualizujte .NET, Node.js a samostatně dodávané knihovny na opravené verze; samostatné aplikace a kontejnery znovu sestavte.
- Restartujte procesy a ověřte verze v běžícím prostředí, nikoli pouze v souborech projektu.
- Dokud nebude oprava nasazena, omezte zpracování nedůvěryhodného vstupu Brotli na zjištěných zranitelných cestách.
Priorita závisí na kombinaci dvou faktorů: zda je přítomna zranitelná komponenta a zda jí lze předat speciálně vytvořený komprimovaný proud. Aktualizace závadu odstraní, zatímco mapa vstupních cest pomůže ověřit, že se oprava dostala do procesů, samostatných sestavení i kontejnerů.