V dekodéru komprimační knihovny Brotli je chyba, při které podvržená komprimovaná data přepíšou paměť za koncem vnitřního bufferu. Opravy k ní vyšly mimo řádný cyklus pro Node.js, pro .NET i pro buildy PHP pro Windows. Zneužívání v praxi zatím nikdo nepotvrdil, veřejně ale existuje ukázkový exploit.
Stav k 27. 10. 2026 podle oznámení Node.js, Microsoftu a PHP.
Co se stalo
Brotli je komprimační knihovna od Googlu. Používá se hlavně při přenosu dat po HTTP (hlavička Content-Encoding br), takže ji ve firemním prostředí najdete v serverech, v HTTP klientech i v knihovnách, jejichž název nic takového nenaznačuje.
Zranitelnost CVE-2026-111497, známá také pod přezdívkami Node2Shell, HTTP2Shell a Broccoli2Shell, je zápis za konec vyhrazené paměti. Podle oznámení Node.js dekodér vyhodnotí neplatné přepnutí bloku jako dočasný nedostatek vstupu místo jako trvalou chybu formátu, a dál připisuje vstupní bajty do vnitřního osmibajtového bufferu. Tím poškodí okolní paměť procesu. Následkem může být pád procesu, únik obsahu paměti nebo vzdálené spuštění kódu.
Útočník nepotřebuje přihlášení. Stačí, aby aplikace rozbalila data, která útočník ovládá. To jde dvěma cestami: aplikace jako server přijme komprimovaný požadavek, nebo si jako klient stáhne komprimovanou odpověď z adresy, kterou útočník ovlivní.
Hodnocení závažnosti se mezi zdroji liší. Node.js chybu označuje za vysoce závažnou, Microsoft kvůli ní vydal mimořádnou opravu mimo řádný měsíční cyklus. Jednotné číslo CVSS se v době psaní článku mezi zdroji rozcházelo, proto ho neuvádíme. V katalogu zneužívaných zranitelností CISA KEV chyba není.
Týká se vás to?
Dotčené jsou verze knihovny Brotli 1.0.3 až 1.0.9, 1.1.0 a 1.2.0 a software, který si ji přibaluje. Prakticky jde o tyto případy:
- Node.js ve větvích 22.x, 24.x a 26.x, všude, kde aplikace rozbaluje data přes node:zlib.
- .NET ve verzích 8, 9, 10 a 11 RC2. Podle Microsoftu se chyba netýká .NET Framework.
- PHP pro Windows. Podle oznámení PHP je zranitelný dekodér dosažitelný přes rozšíření cURL, když je zapnutá automatická dekomprese HTTP odpovědí. V cURL je ve výchozím stavu vypnutá, zapínají ji ale samotné aplikace a knihovny HTTP klientů.
- Python, konkrétně balíčky brotli a brotlicffi a HTTP klienti, kteří je používají (urllib3 s podporou brotli, requests, httpx, aiohttp).
Jedna věc se při úklidu snadno přehlédne. Aktualizace systémové knihovny Brotli sama o sobě nestačí: aplikace s vlastní přibalenou kopií, typicky právě Node.js nebo .NET, je potřeba aktualizovat zvlášť. Každé z míst na následujícím schématu se proto aktualizuje samostatně.
Aktualizace systémové knihovny nestačí, přibalené kopie se aktualizují zvlášť.
Co udělat hned
- Node.js aktualizujte na 22.23.4, 24.22.1 nebo 26.12.1.
- .NET aktualizujte na 8.0.33, 9.0.22 nebo 10.0.14, u předběžné verze na .NET 11 RC3. Microsoft vydal opravu 25. října 2026 a doporučuje aktualizovat i prostředí, ve kterých aplikace sestavujete.
- PHP na Windows aktualizujte na buildy 8.5.12-1, 8.4.27-1, 8.3.36-1 nebo 8.2.35-1, které obsahují Brotli 1.2.1.
- Samotnou knihovnu Brotli aktualizujte na 1.0.10, 1.1.1 nebo 1.2.1. V Pythonu jde o balíček brotli ve verzi 1.2.1 a brotlicffi ve verzi 1.2.1.0.
- Po aktualizaci restartujte dotčené procesy a znovu sestavte a nasaďte obrazy kontejnerů. Bez toho běží dál stará knihovna.
Když aktualizace hned nejde, omezte místa, kde aplikace rozbaluje cizí data. V Pythonu odeberte podporu Brotli a na proxy nebo na firewallu blokujte příchozí požadavky komprimované Brotli. Druhou cestu, tedy odpověď, kterou si vaše aplikace sama stáhne, to ale nepokryje.
Nestíháte to sledovat?
Jen za poslední týden vyšlo několik mimořádných oprav a většina firem nemá nikoho, kdo by každý den procházel oznámení výrobců a rozhodoval, co se jich týká. Pomáháme zákazníkům nastavit řízení zranitelností tak, aby bylo jasné, kdo zdroje hlídá, podle čeho se určuje priorita a v jaké lhůtě se co nasazuje. Když chcete začít, ozvěte se přes kontaktní stránku, nebo se podívejte na posouzení bezpečnosti.
Zdroje: Node.js, bezpečnostní vydání z 21. října 2026 · Microsoft, mimořádné bezpečnostní aktualizace .NET z 25. října 2026 · PHP, aktualizované buildy pro Windows z 26. října 2026 · BleepingComputer, přehled dotčených verzí Brotli a dočasných opatření

