Critical Broccoli2Shell Vulnerability Exposes Cloud Environments and Major Runtimes to Attack

A critical security vulnerability impacting the widely adopted Brotli decompression library has raised widespread alarm across the software industry. Tracked as CVE-2026-111497 and alternatively designated as Broccoli2Shell, Node2Shell, or HTTP2Shell, the flaw stems from an out-of-bounds write error within the Brotli C decoder. Security researchers warn that successful exploitation by an unauthenticated remote attacker could lead to memory corruption, sensitive information disclosure, application crashes, or full remote code execution.
The vulnerability materializes when the decoder improperly handles specially crafted, compressed data during block-processing operations. This flaw allows an attacker to write data past allocated memory boundaries by supplying malicious Brotli-compressed inputs to vulnerable applications. While the issue was initially highlighted in connection with Node.js environments, its roots lie in the upstream C decoder utilized across numerous downstream technologies designed to shrink HTTP traffic and other data assets.
Discovery and analysis of CVE-2026-111497 involved contributions from multiple security teams. Khai Tran and Sylvie Mayer of OpenAI Codex Security originally discovered and reported the flaw, while Matteo Collina and Antoine du Hamel developed fixes for Node.js. Furthermore, Ron Masas of the Imperva Red Team demonstrated the practical exploitability of the bug, and researchers from OpenSourceMalware and Aikido analyzed its broader impact on the Python ecosystem.
Cloud environments face particularly acute exposure due to the pervasive integration of Brotli-enabled components within containerized architectures, Kubernetes clusters, serverless functions, reverse proxies, and API gateways. Applications that automatically decompress incoming HTTP requests or fetch external responses from untrusted sources are especially vulnerable. In many cases, applications can be exposed even if Brotli support is not explicitly referenced in developer code, as certain web clients and frameworks handle decompression automatically.
Data indicates that 91% of cloud environments harbor resources vulnerable to CVE-2026-111497, while 82% of cloud environments maintain publicly exposed Node.js instances. Organizations utilizing static linking or embedded dependencies are urged to consult vendor-specific security advisories, particularly when managing end-of-life runtime branches that require immediate migration to supported versions.
Affected software vendors and maintainers have published emergency patches across multiple platforms. Google Brotli and libbrotli versions 1.0.3 through 1.2.0 are vulnerable, with patches available in versions 1.0.10, 1.1.1, and 1.2.1. Python Brotli and brotlicffi packages covering versions 1.0.3 through 1.2.0 require upgrading to version 1.2.1 and 1.2.1.0, respectively. For Node.js, unpatched releases across the 22.x, 24.x, and 26.x lines should be updated to versions 22.23.4, 24.22.1, and 26.12.1. Bun versions 1.0.21 through 1.4.3 must be upgraded to version 1.4.4.
Additional network infrastructure components are similarly impacted. Envoy Proxy has addressed vulnerabilities across versions 1.36.11, 1.37.7, 1.38.5, and 1.39.2 by releasing patches in versions 1.36.12, 1.37.8, 1.38.6, 1.39.3, and introducing 1.40.0. Istio mesh deployments spanning versions 1.29.0 through 1.31.1 have fixes available in versions 1.29.9, 1.30.6, and 1.31.2. In the Go ecosystem, andybalholm/brotli versions prior to v1.2.7 are affected, requiring an update to v1.2.7.
Security professionals advise organizations to prioritize comprehensive remediation steps, starting with an exhaustive inventory of virtual machines, container images, Kubernetes clusters, and application dependencies. Teams must inspect applications that process external HTTP responses, uploaded files, or untrusted compressed payloads. Container base images and dependency lockfiles require rebuilding and redeploying to ensure patched component libraries load correctly into active runtime processes.
Where immediate patching proves unfeasible, temporary defensive mitigations include disabling Brotli decompression or rejecting Brotli-encoded requests before they reach vulnerable library layers, though administrators emphasize that these workarounds do not substitute for permanent code updates. Enhanced network monitoring, web application firewall log reviews, and tracking application crashes for anomalous behavior can help detect potential exploitation attempts.



