Brotli - RCE (CVE-2026-111497)
Description
A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli on all platforms allows a remote unauthenticated attacker to corrupt adjacent decoder state memory, disclose sensitive memory contents, cause a denial of service, or potentially execute arbitrary code using a crafted Brotli-compressed stream. The decoder is bundled in Node.js, Bun, the Python Brotli and brotlicffi packages and other software. Disclosed publicly as "Node2Shell" and "Broccoli2Shell".
psychologyCrowdSec Analysis
CVE-2026-111497 is a critical out-of-bounds write in Google's Brotli decoder, rated 9.2 on CVSS v4.0 and listed in CISA's Known Exploited Vulnerabilities catalog. An invalid block switch in a crafted Brotli stream is reported as a need for more input instead of a format error, so the streaming decoder keeps appending attacker bytes past the end of an eight-byte internal buffer and corrupts decoder state. Any application that decompresses attacker-controlled Brotli data is exposed: Node.js, Bun, Python packages, Envoy, PAN-OS and more. On Node.js, an unauthenticated attacker can crash the process, leak process memory or execute arbitrary code by sending a Brotli-compressed request body to an Express 5, body-parser 2 or Koa application, or by serving a Brotli-encoded response to a server-side fetch. It is disclosed under the names "Node2Shell" and "Broccoli2Shell".
CrowdSec has been tracking this vulnerability and its exploits since 28th of October 2026.
CrowdSec has not observed any significant exploitation activity targeting CVE-2026-111497 across its network. As a result, no community-driven trend analysis is available for this vulnerability at this time.
Attackers send a POST request to any endpoint of a Node.js application that inflates request bodies (Express 5, body-parser 2, Koa) with a Content-Encoding: br header and a malformed Brotli stream as body. Detection should focus on the Content-Encoding: br request header, since browsers never send Brotli-compressed request bodies.
Full Intelligence Available
Connect your API key to access CrowdSec scores, exploit timelines, and attacker IPs.
| Event | Date |
|---|---|
| CVE Published | 2026-10-22 |
| CISA KEV | 2026-10-27 |
| Rule Released | 2026-10-28 |
| CISA Remediation Deadline | 2026-11-10 |
Related Weaknesses
The product writes data past the end, or before the beginning, of the intended buffer.
The product does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
Remediation & Protection
External References
- https://github.com/advisories/GHSA-9v8h-qqgm-4m35
- https://nodejs.org/en/blog/vulnerability/october-2026-security-releases
- https://github.com/google/brotli/releases/tag/v1.2.1
- https://ellio.tech/en/blog/node2shell-cve-2026-111497-rce-on-stock-nodejs-builds/
- https://www.aikido.dev/blog/node2shell-nodejs-brotli-rce-cve-2026-111497
- https://broccoli2shell.com
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-111497
- https://github.com/assetnote/node2shell-scanner
- https://github.com/syrex1013/CVE-2026-111497-node2shell