The HTTP2Shell Brotli flaw has prompted emergency security updates across several software ecosystems. Tracked as CVE-2026-111497, the vulnerability can cause crashes, expose sensitive memory and potentially allow remote code execution when applications decompress malicious data.
Researchers initially identified the issue in Node.js before finding broader exposure in the underlying Brotli decoder. Consequently, the vulnerability also carries the names Node2Shell and Broccoli2Shell.
Vulnerability Reaches Beyond Node.js
Brotli is Google’s open-source lossless compression technology, which reduces file sizes without changing their original contents. The vulnerability affects decoder versions 1.0.3 through 1.0.9, alongside versions 1.1.0 and 1.2.0.
Despite its name, HTTP2Shell does not exclusively affect HTTP/2. Any application that decompresses attacker-controlled data through a vulnerable Brotli implementation could face exposure.
Potentially affected software includes Python HTTP clients such as requests, httpx, urllib3[brotli] and aiohttp[speedups]. However, their exposure depends on whether their configuration uses an affected decoder.
Microsoft has also issued emergency .NET updates. Its advisory warns that successful exploitation could allow privilege escalation on systems running vulnerable configurations.
How the HTTP2Shell Brotli Flaw Corrupts Memory
The flaw occurs when the decoder encounters an invalid block switch within a specially crafted compressed stream. Instead of rejecting the malformed data, it incorrectly treats the condition as a request for additional input.
As a result, the streaming decoder continues adding bytes to an internal eight-byte buffer. Those writes eventually exceed the buffer’s boundaries and corrupt nearby memory.
Attackers could exploit this behaviour by serving a malicious compressed HTTP response to an application that fetches a URL. Alternatively, they could send a compressed request directly to a server that accepts Brotli data.
The consequences include process crashes, memory exposure and possible remote code execution. Security researchers have also demonstrated that exploitation can reach code execution.
Fixed Versions Are Available Across Multiple Platforms
Developers committed upstream fixes in February. However, stable Brotli and Node.js updates reached users on October 21, followed by public disclosure on October 22. Updated Python packages became available on October 23.
The patched releases include:
| Software | Fixed versions |
|---|---|
| Google Brotli | 1.0.10, 1.1.1, 1.2.1 |
| Node.js | 22.23.4, 24.22.1, 26.12.1 |
| Python Brotli | 1.2.1 |
| Python brotlicffi | 1.2.1.0 |
Public proof-of-concept exploits now exist for the HTTP2Shell Brotli flaw. Nevertheless, no reports of malicious exploitation in the wild had emerged at the time of publication.
Patching Requires Checks Beyond System Libraries
Administrators must restart affected processes after updating. They must also rebuild and redeploy affected container images so applications use the corrected components.
Updating the operating system’s Brotli library alone may leave applications exposed. Node.js deployments and other software can bundle their own copies, which require separate updates.
If immediate patching is impossible, temporary measures include removing Brotli support from Python applications and blocking incoming Brotli-compressed requests through a proxy or firewall. However, inbound filtering alone does not prevent applications from receiving malicious compressed HTTP responses.


0 responses to “HTTP2Shell Brotli Flaw Triggers Emergency Patches”