Brotli decoder flaw, dubbed Node2Shell, drives patches across Microsoft, Node.js and Python

An out-of-bounds write in Google's Brotli decoder affects Node.js, .NET, PowerShell and Python packages, and researchers say it can lead to code execution.

SecurityWeek reported on October 26 that a buffer overflow in Google's Brotli compression library has pushed Microsoft, the Node.js project and the maintainers of two Python packages to ship fixes. The bug is tracked as CVE-2026-111497 and has picked up the nickname Node2Shell.

Brotli is widely used to compress data sent over the web, and its decoder is embedded in a long list of applications and libraries. The flaw is an out-of-bounds write in the decoder. Google gave it a CVSS v4 score of 9.2, which is critical. Brotli versions 1.0.10, 1.1.1 and 1.2.1 contain the fix.

Node.js said crafted input can push data past a buffer's limits. The resulting memory corruption could crash the process, leak memory contents, or let an unauthenticated attacker run arbitrary code. Node.js credited members of OpenAI Codex Security, which said the issue surfaced during red-teaming and that the root cause had already been fixed in the Brotli source in February without being recognized as a security problem.

Microsoft's October 25 updates cover .NET runtime versions 8.0.33, 9.0.22 and 10.0.14, plus .NET 11 Release Candidate 3, along with Visual Studio 2019, 2022 and 2026 and PowerShell 7.4, 7.5 and 7.6. Microsoft rated the flaw an elevation of privilege issue with a CVSS v3.1 base score of 8.1 and an exploitability assessment of "Exploitation More Likely." The Python packages Brotli and brotlicffi were patched in versions 1.2.1 and 1.2.1.0.

Imperva demonstrated code execution on the official Node.js 24.22.0 image for Linux arm64, though it said the proof did not succeed on every attempt and has not published its exploit. No in-the-wild exploitation has been reported. A public tracker lists projects that bundle their own decoder copy as still unpatched, including DuckDB, Apache Arrow, 7-Zip-zstd, p7zip and EDK II, and its maintainers caution the list is incomplete.

For defenders, the practical work goes beyond upgrading a library. Applications that pass attacker-controlled data to an affected decoder are the exposed ones, including compressed HTTP request bodies, responses fetched from untrusted servers and compressed files. Running services need restarts, and container images must be rebuilt on a patched base, since existing processes keep using the vulnerable code.

CVE references

CVE-2026-111497

Sources

  1. Node2Shell Brotli Flaw Triggers Patching Across Microsoft, Node.js, Python PackagesPrimarywww.securityweek.com

If something here is wrong, tell us. Every correction is listed on the corrections page.

Don’t Just Read About Cyberattacks. Learn How They Work.

Go beyond the headlines. Explore hands-on cybersecurity labs, understand real-world vulnerabilities, and build practical security skills with HackZoneLabs.

Start Learning