
Critical Brotli compression flaw reaches far beyond Node.js, hitting Bun, Python, Envoy and Istio
A memory-corruption bug in Google's Brotli decoder, the code that unpacks Brotli-compressed web traffic, affects many more programs than the Node.js runtime that first patched it on 21 October. Tracked as CVE-2026-111497 and nicknamed Node2Shell or HTTP2Shell, it can let specially crafted compressed data crash a program, leak memory or potentially run an attacker's code. Because each product ships its own copy of the decoder, fixes are arriving one by one: Bun 1.4.4, the Python Brotli 1.2.1 and brotlicffi 1.2.1.0 packages, new Envoy and Istio releases, and Brotli itself (1.0.10, 1.1.1 and 1.2.1). Imperva has shown code running on one unpatched Node.js build, but no real-world attacks have been reported.
Why it matters: The bug works in both directions: a malicious visitor could attack a server that unpacks compressed uploads, and a malicious website could attack an app or tool that downloads compressed responses. In Python, simply having the Brotli package installed can expose apps, and some dependency scanners may not flag it yet. Developers and IT teams should update, restart services and rebuild container images; if you can't update yet, stop decoding Brotli data from untrusted sources.







