10/26/2026
🚨 Node2Shell (CVE-2026-111497): a public repo for this Node.js Brotli flaw appeared about five hours after the fix shipped. Code ex*****on was demonstrated on the official Node.js 24.22.0 image within a day. 🚨
The bug is a malformed Brotli stream, an ignored error, and a write past the end of a buffer. The bug has a CVSS v4.0 9.2 score. As of Oct 23, no confirmed in-the-wild exploitation has been confirmed, but the gap between patch and PoC was about a day.
👀 What was found in the research:
➝ Crashes are easy to reproduce, while reliable RCE has only been shown in one setup, and it took several attempts
➝ Express 5 with default JSON parsing reaches the vulnerable decoder. So does server-side fetch() on attacker-influenced responses
➝ Node.js 25 and 20 are end of life with no fix, and Bun 1.4.3 and earlier is affected
➝ Some distro packages may use the system Brotli library, so a Node.js version number won’t tell you if you’re patched
🛡️ What to do:
➝ Update to Node.js 22.23.4, 24.22.1, or 26.12.1, and rebuild container images from a patched base
➝ Find every service that decodes Brotli from untrusted sources, and patch those first
➝ Run Node.js as an unprivileged user and keep secrets out of the process environment
🎯 Takeaway:
Patch in order of reachability. A runtime sensor won’t see the overflow, but it will catch what a successful exploit does next.
↳ Full write-up from the Sysdig Threat Research Team: https://okt.to/hQ92le