Brotli Decoder Flaw Hits Node.js, Bun, Python: RCE Confirmed
Imperva's Node2Shell PoC achieves RCE on official Node.js via a Brotli decoder memory-corruption flaw. Bun, Python brotli/brotlicffi, and Envoy also affected.

Researchers at Imperva demonstrated remote code execution against an official Node.js build using crafted Brotli-compressed data. Their proof-of-concept, Node2Shell, routes attacker-controlled code through a memory-corruption flaw in the Brotli decoder. In-the-wild exploitation: unconfirmed. PoC in researcher hands: confirmed.
The flaw sits in Google’s Brotli decoder library. Node.js bundles it directly, but the same decoder ships in Bun’s runtime, Python’s brotli and brotlicffi packages, and Envoy. The Hacker News reported today that the footprint extends beyond those five as ongoing audits continue. CVE assignment: unconfirmed at time of writing.
Imperva published their research without releasing exploit code.
Confirmed affected
- Node.js (official builds)
- Bun runtime
- Python
brotlipackage - Python
brotlicffipackage - Envoy
No universal patch as of this writing. Fixes ship per project. The same decoder flaw propagates independently through every project that bundles it: a Node.js patch does not cover Bun or the Python packages. Any decode path handling untrusted Brotli data is open exposure until the relevant upstream confirms a fix.
Supply-chain pattern: one library-level flaw, distributed to every project that embeds it. For related coverage: CVSS 9.8 code injection in openapi-typescript-codegen, Storm-0940 targeting ConnectWise Cloud Backup, QPACK memory-corruption crashes in HTTP/3 servers.
Found this useful? Share it.


