Cybersecurity · Niche Press editorial

Broccoli2Shell: a Brotli decoder bug (CVE-2026-111497) puts Node.js, Bun, Envoy and Python on the patch list

Quotable summary

CVE-2026-111497, nicknamed “Broccoli2Shell” (also Node2Shell / HTTP2Shell), is an out-of-bounds write in Google’s Brotli decoder in versions 1.0.3 through 1.2.0. A malformed stream can make the decoder keep feeding bytes into an eight-byte internal buffer. That can lead to memory corruption, leaked memory, crashes, or potentially remote code execution. Brotli is the br in Content-Encoding: br, so the bug reaches into Node.js, Bun, Envoy, Istio, Python bindings and Go ports. Fixed Brotli 1.0.10 / 1.1.1 / 1.2.1 and Node.js 22.23.4 / 24.22.1 / 26.12.1 shipped on 21 October 2026. Bun 1.4.4 and patched Envoy releases followed on 23 October. The bug was reported by OpenAI’s Codex Security researchers. Translation: if your app will unzip anything a stranger hands it, patch now.

What changed

Item Detail
CVE CVE-2026-111497 (CNA: Google)
Weakness CWE-787 out-of-bounds write; CWE-252 unchecked return value
Root cause An invalid block switch was reported as “need more input” instead of a format error, so the streaming decoder kept appending to an 8-byte buffer (Node.js advisory)
Severity CNA CVSS 4.0 9.2 Critical; Red Hat CVSS 3.1 8.1 Important (AC:High); Node.js rates it High; NVD enrichment pending
Affected Brotli 1.0.3 – 1.2.0
Fixed Brotli 1.0.10, 1.1.1, 1.2.1 (released 21 Oct 2026)
Node.js Fixed in 22.23.4, 24.22.1, 26.12.1 (21 Oct 2026); End-of-Life lines stay affected
Bun 1.4.4 (affected ≥1.0.21, <1.4.4); rebuild bun build --compile binaries
Envoy 1.40.0, 1.39.3, 1.38.6, 1.37.8, 1.36.12; affects deployments with the Brotli decompressor configured
Others (per Wiz) Python Brotli 1.2.1, brotlicffi 1.2.1.0, Istio 1.29.9 / 1.30.6 / 1.31.2, Go andybalholm/brotli v1.2.7
Reported by Khai Tran and Sylvie Mayer, OpenAI Codex Security (Node.js advisory)
CISA KEV Not listed as of KEV catalog version 2026.10.23 (checked 26 Oct 2026)

Where the bytes come in

The Bun advisory lays out the attack surface well, and the same logic applies to other runtimes:

Why it matters

FAQ

I only run Node.js. What do I do? Upgrade to 22.23.4, 24.22.1 or 26.12.1 (or later). Then rebuild container images and restart processes so the new binary is actually the one running. End-of-Life Node lines get no fix, so move off them.

Is it being exploited in the wild? As of 26 Oct 2026, it isn’t on CISA’s Known Exploited Vulnerabilities list, and the advisories we reviewed don’t report in-the-wild exploitation. Exploitability has been demonstrated in research settings, so don’t wait for a KEV entry.

Can I mitigate without patching? Only partly. Disable Brotli decompression or reject Content-Encoding: br before it reaches vulnerable components. In Bun, pass decompress: false to fetch per request. Every advisory says these steps reduce exposure but don’t replace patching.

How do I find hidden copies? Inventory runtimes, proxies, Python packages (brotli, brotlicffi), Go modules and base images. Use your SBOM or scanner, then check vendor advisories for anything that statically links libbrotli.

Sources

Source Role Link
CVE.org Primary: CVE record, CNA CVSS, affected versions CVE.org — CVE-2026-111497
NVD Primary: NVD entry (enrichment pending) NVD — CVE-2026-111497 detail
Google Brotli (GitHub) Primary: fixed releases 1.0.10 / 1.1.1 / 1.2.1 google/brotli — Releases
Node.js Primary: root cause, fixed versions, discoverer credit Node.js — October 21, 2026 security releases
Bun (GitHub advisory) Primary: attack surface, workaround, fixed version oven-sh/bun — GHSA-663w-cv8g-jj2p
Envoy (GitHub advisory) Primary: affected/patched Envoy versions envoyproxy/envoy — GHSA-3wvj-j6qm-62mr
Red Hat Primary: vendor severity rating and rationale Red Hat — CVE-2026-111497
CISA Primary: KEV catalog (checked, not listed) CISA — Known Exploited Vulnerabilities Catalog
Wiz Secondary: ecosystem table, telemetry (vendor-stated) Wiz — Broccoli2Shell explainer
The Hindu (Reuters) Secondary: OpenAI disclosure context, February source fix The Hindu/Reuters — OpenAI resumes frontier training, discloses flaw