Node2Shell Brotli Flaw Triggers Patches Across Major Projects

A critical Brotli flaw that can corrupt memory and enable code execution has prompted patches from Microsoft, Node.js and two Python package maintainers.

A vulnerability in Google’s Brotli compression library has prompted security updates from Microsoft, the Node.js project and maintainers of the Brotli and brotlicffi Python packages. Bun, Envoy and Istio have also issued updates.

Tracked as CVE-2026-111497 and called Node2Shell, the flaw affects Brotli versions 1.0.3 through 1.2.0. Google assigned it a CVSS v4 score of 9.2, placing it in the critical category. Fixed Brotli versions include 1.0.10, 1.1.1 and 1.2.1.

The flaw is an out-of-bounds write in Brotli’s decoder. Specially crafted data can cause the decoder to write beyond a buffer’s limits. This can crash a process, expose memory contents or allow an unauthenticated attacker to run arbitrary code.

An attack requires malicious Brotli data to reach the vulnerable decoder. Possible routes include compressed HTTP request bodies, responses retrieved from untrusted servers and compressed files. Brotli is used in many applications and libraries that process web traffic and other compressed data.

Node.js and the two Python packages were patched in the week before Microsoft released its updates on October 25. The Python fixes are Brotli 1.2.1 and brotlicffi 1.2.1.0.

Microsoft’s updates cover .NET, Visual Studio and PowerShell. Affected .NET releases include versions 8.0.33, 9.0.22 and 10.0.14, along with .NET 11 Release Candidate 3. Updates are available for Visual Studio 2019, 2022 and 2026, and PowerShell 7.4, 7.5 and 7.6.

Microsoft classifies the vulnerability as an elevation-of-privilege issue and assigns it a CVSS v3.1 score of 8.1. It rates the flaw as critical for .NET and Visual Studio and important for PowerShell. Microsoft’s assessment lists exploitation as more likely.

Members of OpenAI Codex Security found the issue during red-team testing and reported it to the Brotli developers and projects that use the library. OpenAI’s security initiative reported that the underlying code problem had been fixed in the Brotli source in February, before it was recognized as a security issue. No newer Brotli release had been issued at that time.

Imperva demonstrated code execution against the official Node.js 24.22.0 image for Linux arm64. Its researchers delivered malicious data in a server response and in request bodies processed by Express 5 or body-parser 2. The test did not succeed on every attempt, and Imperva has not published its exploit.

No exploitation in the wild has been reported. A proof of concept published on GitHub reportedly achieves code execution only against an intentionally weakened build. Some researchers have said the flaw may cause denial-of-service attacks in other environments.

The vulnerability is also known as HTTP2Shell and Broccoli2Shell. A public tracker lists projects that bundle their own Brotli decoder, including DuckDB, Apache Arrow, 7-Zip-zstd, p7zip and EDK II. The tracker is incomplete, and exposure varies by project configuration.

Applying the fixes may require restarting affected services and rebuilding container images with patched base images. Running processes continue to use the vulnerable library until they are restarted.

Articles by this author