Stav k 27. 10. 2026. Téma se vyvíjí, před rozhodnutím si proto ověřte aktuální informace u výrobců.
Broccoli2Shell, známá také jako Node2Shell, je bezpečnostní zranitelnost CVE-2026-111497 v dekodéru Brotli, tedy v knihovně od Googlu, která rozbaluje komprimovaná data. Google ji hodnotí 9,2 z 10 (CVSS 4.0). Brotli se používá v Node.js, v balíčcích pro Python, v rozšíření pro PHP i ve firewallech Palo Alto. Opravy knihovny Brotli a Node.js vyšly 21. 10. 2026 a hlavní rada je jednoduchá: aktualizovat.
Pokud vám web nebo aplikaci spravuje dodavatel, pošlete mu tento článek. Ověřit to může jen někdo, kdo má přístup k serveru.
Oficiální název chyba nemá. Jméno Broccoli2Shell se rozšířilo z neoficiálního webu. GitHub a část bezpečnostních firem ji označují jako Node2Shell, některá média jako HTTP2Shell. Ve všech případech jde o stejnou chybu CVE-2026-111497. Našli ji výzkumníci z OpenAI Codex Security.
Útočník nemusí být přihlášený. Stačí mu poslat po síti upravená data komprimovaná Brotli. Když je aplikace začne rozbalovat, dekodér může zapsat data mimo vyhrazenou paměť. Výsledkem může být pád aplikace, únik dat z paměti nebo v horším případě spuštění cizího kódu na serveru.
Google jako vydavatel CVE hodnotí chybu 9,2 z 10 podle CVSS 4.0, tedy jako kritickou. Ostatní výrobci ji vidí mírněji: Node.js ji označuje jako vysokou (High), Microsoft u .NET dává 8,1 (CVSS 3.1). Útok navíc vyžaduje splnění určitých podmínek. Neznamená to tedy, že je každý server s Brotli automaticky ohrožený.
Důležité je rozlišit dvě věci. Chyba je v rozbalování Brotli, ne v komprimaci. Ohrožené jsou tedy systémy, které data v Brotli přijímají a rozbalují.
| Technologie | Zranitelné verze | Opravená verze |
|---|---|---|
| Knihovna Brotli (Google) | 1.0.3 až 1.2.0 | 1.0.10, 1.1.1, 1.2.1 |
| Node.js 22, 24, 26 | starší než opravené | 22.23.4, 24.22.1, 26.12.1 |
| Node.js 25, 23, 20 a starší | všechny (konec podpory) | oprava nevyjde, nutný přechod na podporovanou verzi |
| Python balíček brotli | 1.0.3 až 1.2.0 | 1.2.1 |
| Python balíček brotlicffi | starší než 1.2.1.0 | 1.2.1.0 |
| PHP rozšíření brotli | starší verze | 0.21.1 (obsahuje Brotli 1.2.1) |
| .NET 8, 9, 10 | starší než opravené | 8.0.33, 9.0.22, 10.0.14 |
| Palo Alto PAN-OS 11.2, 12.1, 12.2 | jen se zapnutou inspekcí Brotli | 12.2.4-h1, 12.1.7-h11, 11.2.10-h17, další hotfixy do 30. 10. |
| Debian 12 a 13 (balíček brotli) | starší balíčky | 1.0.9-2+deb12u1, 1.1.0-2+deb13u1 |
| Ubuntu 22.04, 24.04, 26.04, 26.10 | starší balíčky | USN-8956-1; Ubuntu 20.04 zatím bez opravy |
Node.js rozbaluje Brotli přes vestavěný modul zlib, proto je zasažené. Na větvích 22, 24 a 26 stačí aktualizovat na opravenou verzi, a to i v Docker image, ze kterých aplikace běží. Node.js 20 a starší opravu nedostanou. Node.js žádné dočasné řešení nevydal, jedinou cestou je aktualizace.
Pozor na Node.js z linuxových distribucí. Na Ubuntu 22.04 a novějším používá systémovou knihovnu Brotli, takže ho opraví aktualizace balíčku brotli. Node.js 18 a 20 z repozitářů Debianu zůstávají zranitelné.
V Pythonu se chyba týká doinstalovaných balíčků brotli a brotlicffi. Aktualizujte je na verze 1.2.1, respektive 1.2.1.0, a nezapomeňte upravit i soubory se zamčenými verzemi závislostí.
Tady je dobrá zpráva pro většinu firemních webů. Běžný web na PHP (WordPress nebo jiný redakční systém) běžící na Apache či nginx používá Brotli jen ke zrychlení, tedy ke komprimaci odpovědí. Moduly mod_brotli i ngx_brotli podle dokumentace data jen komprimují a příchozí Brotli nerozbalují. Podle našeho posouzení je takový web přes webový server pravděpodobně nezasažený.
Jinak je to tam, kde PHP aplikace data v Brotli sama rozbaluje, například přes PHP rozšíření brotli nebo systémovou knihovnu Brotli. Tam je potřeba aktualizovat.
Broccoli2Shell nesouvisí s chybami v PHP z minulého týdne. Pokud jste ještě neaktualizovali PHP, přečtěte si článek PHP2Shell: kritické chyby v PHP.
U firewallů Palo Alto jsou zasažené PAN-OS 11.2, 12.1 a 12.2, ale jen se zapnutou inspekcí Brotli a dešifrováním TLS. Od verze 11.2.4 je inspekce Brotli ve výchozím stavu vypnutá. Správcovské rozhraní, Panorama ani verze 11.1 a 10.2 zasažené nejsou.
U .NET aplikací stačí aktualizovat runtime, .NET Framework zasažený není. Aplikace typu self-contained a NativeAOT je potřeba znovu sestavit. Na linuxových serverech pomůže aktualizace systémového balíčku brotli.
U většiny serverů jde o rutinní záplatu. Pokud ale nemáte, kdo by ji udělal, využijte urgentní programátorskou pomoc.
Reálné útoky zatím známé nejsou. Americká agentura CISA chybu k 27. 10. 2026 nezařadila do katalogu aktivně zneužívaných zranitelností (KEV) a Palo Alto o zneužití neví. Opravy jsou ale venku, s aktualizací proto zbytečně neotálejte.
Minulý týden PHP2Shell, teď Broccoli2Shell. Kritické chyby v základních knihovnách se objevují pravidelně. Rozhoduje, jestli někdo ví, na čem vaše aplikace běží, a umí ji bezpečně aktualizovat.
My v 1. Web IT z Prahy a Brna vyvíjíme a dlouhodobě podporujeme webové aplikace a e-shopy. V rámci pravidelné podpory aplikace nebo správy serverů a infrastruktury s vámi projdeme verze a pomůžeme s aktualizací. Co má dobrá podpora obsahovat, popisujeme v článku o SLA podpory aplikace. Pokud aplikaci po původním dodavateli nikdo nespravuje, pomůže článek o převzetí aplikace po jiném dodavateli.
Stará se o váš web kamarád „ze známosti“? Spousta firemních webů a aplikací běží díky ochotnému kamarádovi, bývalému kolegovi nebo někomu, kdo to „umí s počítači“. Je to normální, jen se pak často stane, že se na server dlouho nesáhne. Pokud je to i váš případ, napište nám. Společně se podíváme, na čem web běží a jestli je všechno aktuální.
Broccoli2Shell, známá také jako Node2Shell, je chyba CVE-2026-111497 v dekodéru komprese Brotli od Googlu. Upravená data mohou při rozbalování zapsat mimo vyhrazenou paměť. Důsledkem může být pád aplikace, únik dat z paměti nebo dokonce spuštění cizího kódu. Google ji hodnotí 9,2 z 10 (CVSS 4.0).
Pokud web nebo aplikace běží na Node.js, Pythonu s balíčkem brotli, PHP s rozšířením brotli nebo je za firewallem Palo Alto s inspekcí Brotli, nejspíš ano. Běžný PHP web na Apache nebo nginx je podle našeho posouzení pravděpodobně v pořádku. Jistotu dá jen kontrola konkrétních verzí u dodavatele nebo hostingu.
Aktualizovat na opravené verze, například Node.js 22.23.4, 24.22.1 nebo 26.12.1 a Python brotli 1.2.1. Potom restartovat procesy a znovu sestavit kontejnery. Node.js 20 a starší opravu nedostanou, je potřeba přejít na novější verzi.
K 27. 10. 2026 nejsou reálné útoky známé a chyba není v katalogu CISA KEV. Opravy jsou dostupné, proto s aktualizací neotálejte.
Nevíte jistě, co na vašem serveru běží, nebo aktualizace narazila na problém? Napište nám. Projdeme s vámi verze a postup aktualizace.