Trending: On-device modelsSearch
iHeartGeek
iTECH

HTTP2Shell Brotli flaw triggers emergency patches

The Brotli decoder flaw can expose Node.js, Python and other applications to memory corruption and remote code execution.

Official Brotli project mark representing the compression library at the centre of the HTTP2Shell vulnerability

A critical vulnerability in Brotli, the compression library bundled with Node.js and used across other software ecosystems, has triggered emergency security updates. The flaw is tracked as CVE-2026-111497 and can let a maliciously crafted compressed stream write beyond an internal decoder buffer. 12

The problem is broader than the “HTTP2Shell” nickname suggests. Applications can be exposed when they decompress attacker-controlled Brotli data, including a malicious HTTP response or a compressed request sent directly to a server. The weakness is not limited to HTTP/2, and it may affect software that relies on a vulnerable Brotli decoder outside Node.js. 1

Node.js says the issue can crash a process, expose memory and enable remote code execution. Imperva’s analysis likewise describes the vulnerability as capable of leading to RCE, while noting that exploitation depends on an application reaching the affected decompression path. 13

The fixed versions are Google Brotli 1.0.10, 1.1.1 and 1.2.1; Node.js 22.23.4, 24.22.1 and 26.12.1; Python Brotli 1.2.1; and Python brotlicffi 1.2.1. Node.js published its security release on October 21, with public disclosure following on October 22. 1

Proof-of-concept code is public, but there were no reported attacks in the wild in the source material reviewed for this report. Administrators should still update affected packages, restart processes and rebuild or redeploy container images. A system-wide Brotli update may not be enough if an application carries its own bundled copy. 1

Our opinion

This is the sort of vulnerability that rewards boring maintenance. The dramatic name makes the flaw easy to remember, but the practical work is less glamorous: identify every Brotli implementation in the dependency tree, update the packages that actually ship with the application, then restart the processes that loaded the old decoder.

The most important warning is the one easiest to miss. Blocking inbound Brotli requests does not remove the malicious-response route, so treating this as only a server-input problem can leave clients exposed. Teams should follow the upstream advisories rather than relying on a single firewall rule or a library update that never reaches the bundled runtime.