Bezpečnost ·
HTTP2Shell: kritická chyba v kompresi Brotli ohrožuje Node.js, Python, Bun i curl
Chyba CVE-2026-111497 v dekodéru Brotli od Googlu, nejdřív známá jako Node2Shell, se od 23. října řeší jako HTTP2Shell. Týká se všech aplikací, které automaticky rozbalují HTTP odpovědi nebo požadavky komprimované Brotli.
Jde o zápis mimo hranice paměti v knihovně Brotli ve verzích 1.0.3 až 1.2.0. Speciálně připravená komprimovaná data mohou poškodit paměť procesu, který je rozbaluje, a vést k pádu aplikace, úniku obsahu paměti nebo ke spuštění cizího kódu bez přihlášení. Google, který CVE přidělil, ji hodnotí skóre 9,2 podle CVSS 4.0, Node.js ji vede jako vysokou závažnost a Red Hat dává 8,1. Opravené verze Brotli jsou 1.0.10, 1.1.1 a 1.2.1.
Chybu nahlásil tým Codex Security společnosti OpenAI. Oprava se do zdrojového kódu Brotli dostala už 27. února, jenže nikdo ji neoznačil jako bezpečnostní a do žádného vydání se nedostala. Node.js ji opravil v mimořádném vydání z 21. října spolu s dalšími devíti chybami. Opravené verze jsou 22.23.4, 24.22.1 a 26.12.1. Node.js 20 a starší už podporu nemají a opravu nedostanou.
Postižený je i Python: balíčky Brotli a brotlicffi do verze 1.2.0 načítají automaticky knihovny requests a urllib3, httpx s rozšířením brotli i aiohttp. Opravu přinášejí Brotli 1.2.1 a brotlicffi 1.2.1.0. Dále jde o Bun do 1.4.3 (oprava ve verzi 1.4.4), o Envoy a Istio se zapnutou dekompresí Brotli a o programy, které Brotli přibalují, například curl. Standardní mod_brotli v Apache ani Nginx ve výchozím nastavení data Brotli nerozbalují.
Útoky v praxi zatím hlášené nejsou a americká CISA 23. října zneužití hodnotila jako žádné. Tým Imperva ale v laboratoři spustil vlastní kód na neupraveném Node.js 24.22.0, exploit nezveřejnil. Firma Aikido upozorňuje, že nástroje pip-audit, Dependabot a Safety k 23. říjnu zranitelné verze z PyPI nehlásily, takže na automatické upozornění se spoléhat nedá.
Co to znamená pro firmy
Pokud máte webovou aplikaci, API nebo e-shop na Node.js či Pythonu, aktualizujte dnes runtime i závislosti a hlavně znovu sestavte kontejnery a přibalené binárky, protože každá nese vlastní kopii knihovny. Nejrizikovější jsou služby, které stahují data ze serverů třetích stran nebo přijímají komprimovaná těla požadavků. Kde aktualizace hned nejde, odmítejte požadavky s hlavičkou Content-Encoding br ještě před rozbalením. S kontrolou závislostí a nasazením oprav pomůže naše kybernetická bezpečnost a správa webu. Případ je druhý tento týden po PHP2Shell, kdy chybu našla AI: pokud stavíte webové aplikace na míru, počítejte s pravidelnými bezpečnostními aktualizacemi už v rozpočtu.
Zdroje: Node.js security releases, October 2026, The Hacker News, Aikido Security