Affected Systems
Google Brotli C library 1.0.3–1.2.0; Node.js 22.x, 24.x, 26.x (pre-patch); Bun ≤1.4.3; Envoy 1.36–1.39 (if Brotli enabled); Istio 1.29–1.31 (if Brotli enabled); Python Brotli ≤1.2.0 and brotlicffi ≤1.2.0.x; cdxgen ≤13.4.0/12.8.8. Exposure requires decoding untrusted Brotli-compressed data (Content-Encoding: br responses, compressed request bodies, or proxy decompression).
Exploitation Status
Proof-of-concept RCE demonstrated by Imperva on Node.js 24.22.0 ARM64 Linux (not publicly released). OpenAI Codex Security reported unauthenticated RCE capability. No in-the-wild exploitation reported as of October 23, 2026 per CISA. Red Hat states no reliable public PoC available.
Business Impact
Applications using affected runtimes or libraries to decode Brotli-compressed HTTP traffic are at risk of remote code execution. Node.js and Bun servers using fetch() or body parsers (Express 5, body-parser 2) that accept br-encoded requests/responses are exposed. Python applications with Brotli/brotlicffi installed are vulnerable even without explicit import, as HTTP clients (requests, urllib3, httpx, aiohttp) auto-decode br responses. Envoy/Istio proxies with Brotli decompression enabled are affected. WAF rules do not protect outbound fetch() calls to malicious servers. CVSS 4.0: 9.2 (Critical per Google); 8.1 (Important per Red Hat). Fix requires runtime/library update plus service restart and container rebuild.
Urgency
🔴 Immediate
Recommended Actions
- Update immediately: Node.js to 22.23.4/24.22.1/26.12.1; Bun to 1.4.4; Envoy to 1.40.0/1.39.3/1.38.6/1.37.8/1.36.12; Istio to 1.31.2/1.30.6/1.29.9; Python Brotli to 1.2.1; brotlicffi to 1.2.1.0; cdxgen to 13.5.0/12.8.9. Restart all services and rebuild container images after patching.
- For Python environments: uninstall Brotli and brotlicffi packages entirely if immediate patching is not possible, forcing HTTP clients to fall back to gzip/deflate.
- Block Brotli decompression at ingress: configure reverse proxies, load balancers, or WAF to reject requests with Content-Encoding: br headers before they reach application code.
- Disable automatic Brotli decoding in HTTP client libraries where configurable, and reject Content-Encoding: br responses at the application layer until patching is complete.
- Audit Envoy and Istio configurations: disable Brotli decompression filters if not operationally required, as the vulnerability is only reachable when this feature is enabled.
