Patch Broccoli2Shell: A Practical Checklist For Teams Across Ecosystems
AIThis post was created with the assistance of artificial intelligence (AI).

🔍 Read the full analysis: Patch Broccoli2Shell: A Practical Checklist For Teams Across Ecosystems on ThorstenMeyerAI.com

Before you orderOffer from Amazon

Get smart everyday buys delivered free with Prime

  • Fast, free delivery on millions of items
  • Prime Video, Amazon Music and more included
  • Member-only deals all year
Start your free Prime trial Free trial for eligible customers · Cancel anytime
As an affiliate, we earn on qualifying purchases.

TL;DR

CVE-2026-111497 affects Google’s Brotli C decoder and has prompted fixes across Node.js, Python, Bun, Envoy, Istio, .NET and Linux distributions. Teams need to identify direct and bundled copies, apply the relevant fixed release and restart running processes; the supplied source says seven tracked bundled copies remained unfixed as of Oct. 26, 2026.

Fixes for CVE-2026-111497, known as Broccoli2Shell, now span several major software ecosystems after a flaw in Google’s Brotli C decoder was disclosed. The issue can cause memory corruption when a decoder handles crafted compressed data; teams using affected runtimes or bundled copies need to patch and restart services, while the supplied tracker listed seven bundled copies still unfixed as of Oct. 26, 2026.

The vulnerable range listed in the source is Brotli 1.0.3 through 1.2.0. Fixed upstream releases are 1.0.10, 1.1.1 and 1.2.1. Ecosystem fixes include Node.js 22.23.4, 24.22.1 and 26.12.1; Python Brotli 1.2.1 and brotlicffi 1.2.1.0; Bun 1.4.4; Envoy releases 1.40.0, 1.39.3, 1.38.6 and 1.37.8; Istio 1.29.9, 1.30.6 and 1.31.2; and .NET 8.0.33, 9.0.22 and 10.0.14. The source also lists Debian fixes for bookworm and trixie.

Updating a package is not enough for an already-running service: the source says processes retain the old decoder until restarted. Node.js 20, 23 and 25 are listed as receiving no fix, so teams on those release lines must assess their supported upgrade path rather than assume a patch is available. Official Node.js builds bundle Brotli, meaning the Node.js release is the relevant update there; some Linux distributions instead link Node.js against a system library.

The source describes exposure through automatic decoding of fetched responses, accepted compressed request bodies, and tools that process files such as archives or fonts. It names Node’s built-in fetch, Python HTTP clients when Brotli support is installed, and certain Express and body-parser versions as examples. The flaw is in Brotli, not Express, so upgrading Express alone does not address it. A bare Node.js HTTP server also does not decode request bodies automatically, according to the source.

At a glance
updateWhen: Updates and tracker status reported Oct…
The developmentSecurity updates for the Broccoli2Shell Brotli decoder flaw have spread across software ecosystems, while some bundled copies remain unfixed.
Thorsten Meyer AI
CVE-2026-111497 · 26 Oct 2026

Infographic 01 · Where Brotli decoding meets untrusted input

One decoder, many doors.

The flaw sits in Google's Brotli C decoder. Every runtime, package and tool that copies it inherits the bug. Three paths bring attacker data to it.

9.2CVSS 4.0, Critical, in Google's CVE record
1.0.3–1.2.0affected Brotli versions
3supported Node.js lines fixed on 21 Oct
~83 MPyPI downloads of Brotli in the last month

Responses your code fetches

no WAF sees these

  • Node.js fetch() decodes Brotli automatically
  • Python requests, urllib3, aiohttp, httpx[brotli], Scrapy, once a Brotli package is installed
  • Webhooks, link previews, crawlers, “import from URL”

Request bodies you accept

WAF can block br bodies

  • Express 5.0.0–5.3.0 and body-parser 2.0.0–2.3.0 inflate Brotli bodies (json(), raw())
  • Upgrading Express alone does not help: the bug is in the runtime
  • A bare Node.js HTTP server does not decode bodies on its own

Files you open or process

not only HTTP

  • Archives and .br files (7-Zip-zstd, p7zip)
  • Parquet data files (DuckDB, Apache Arrow bundled build)
  • Fonts (woff2), firmware tools (EDK II), JPEG XL via libjxl

Fixed versions

patch, then restart a running process keeps the old decoder

ComponentFixed inNote
Google Brotli (C library)1.0.10 · 1.1.1 · 1.2.11.0.3–1.2.0
Node.js22.23.4 · 24.22.1 · 26.12.120, 23, 25: no fix (end of life)
Python Brotli / brotlicffi1.2.1 / 1.2.1.01.0.3 up to 1.2.0.x
Bun1.4.4includes Brotli 1.2.1
Envoy Proxy1.40.0 · 1.39.3 · 1.38.6 · 1.37.8if Brotli decompression is configured
Istio1.29.9 · 1.30.6 · 1.31.21.29 is end of life
.NET runtime8.0.33 · 9.0.22 · 10.0.14GitHub source builds still affected
Debian brotlibookworm 1.0.9-2+deb12u1 · trixie 1.1.0-2+deb13u1DLA 4855-1 · DSA-6582-1

Official Node.js builds bundle their own Brotli, so only the Node.js version matters there; some distributions (Debian, Ubuntu 22.04+) build Node.js against the system library instead.

Sources: CVE record (Google CNA, CISA ADP 23 Oct); Node.js (21 Oct 2026); GHSA-9v8h-qqgm-4m35; Brotli releases (21 Oct 2026); Patch the Planet (23 Oct 2026); Imperva (22 Oct 2026); broccoli2shell.com (26 Oct 2026); OpenSourceMalware (23 Oct 2026); Debian tracker; pypistats.org (26 Oct 2026).
Powered by Thorsten Meyer AI

Patches Must Reach Every Runtime

The practical challenge is software supply-chain reach. Brotli is used directly and bundled into other projects, so an organization may have vulnerable copies beyond its explicitly declared dependencies. A patch to the upstream library does not automatically update a runtime, container image, distribution package or application that carries its own copy.

The flaw is rated 9.2, Critical, under CVSS 4.0 in the Google-filed CVE record, as reported by the source. Imperva reportedly demonstrated code execution on an unmodified official Node.js image after several attempts. That is evidence of a possible severe outcome, not confirmation that attackers are exploiting it in live incidents. The source says CISA data listed exploitation as “none” and the CVE was not in CISA’s Known Exploited Vulnerabilities catalog at the time of reporting.

For operators, the immediate task is to map where Brotli is used, match each component to its fixed version, and restart affected processes after deployment. That matters for services that fetch remote content, accept compressed uploads or webhooks, and internal tooling that reads compressed files.

Amazon

software vulnerability management platform CVE scanning

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

From Source Fix to Ecosystem Updates

The source traces the underlying code change to Feb. 27, 2026, when a Brotli commit titled “Detect and report invalid stream earlier” was made. It says that commit did not identify the change as security-related. Releases containing the fix appeared on Oct. 21, a 236-day interval, according to the article. The CVE became public on Oct. 22, alongside a public proof of concept, the source reports.

That gap matters because many projects bundle or depend on the same decoder. Updates must pass through successive maintainers and distributors before reaching deployed software. The source says a tracker identified more than 30 projects and packages with bundled copies, with seven still unfixed as of Oct. 26 and five more fixed in their main branches. It also reports that Python package advisories were absent from an advisory database on Oct. 23 before GitHub’s advisory was added later that day.

OpenAI is credited by Node.js with helping identify the vulnerability. OpenAI said it found the flaw during red-teaming with teams of AI agents, according to the source. That attribution describes the reported discovery process; it does not change which components require fixes.

Amazon

software composition analysis tool dependency vulnerability scanning

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Exposure and Remaining Copies

Actual exploitation in the wild is not confirmed in the supplied material. It reports a critical CVSS score and a researcher demonstration, while CISA data showed no exploitation and the CVE was not in the agency’s KEV catalog as of the article’s reporting date. Those status indicators do not rule out later activity.

The source does not provide a complete inventory of deployed systems affected or establish which organizations are exposed. Its tracker snapshot is dated Oct. 26 and identifies seven bundled copies as still unfixed, but status can change as maintainers publish releases. Teams should verify the current release and advisory for each component rather than infer safety from a dependency scanner alone.

The precise risk depends on how an application reaches the decoder and what it does with decoded data. The source describes possible crashes, memory disclosure or code execution, but it does not establish that every vulnerable deployment is remotely exploitable. DreamHost’s reported password resets for some email and FTP/SFTP accounts are a separate incident: the source says DreamHost named no cause and provides no link to Brotli.

Amazon

container image security scanner vulnerability management

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Verify, Patch, Then Restart

Teams should inventory direct dependencies and bundled Brotli copies across runtimes, system packages, containers and file-processing tools. Compare each version with its vendor’s advisory, including any distribution-specific backport, then deploy the fixed release and restart processes so they load the corrected decoder.

Where a supported fixed release is unavailable, teams should check the maintainer’s current guidance and assess whether the affected decoding path can be restricted while a patch is pending. They should also repeat scans after updates: the supplied source describes advisories arriving at different times and some fixes landing in main branches before packaged releases.

The next milestone is the release of fixes by remaining maintainers and confirmation that those updates have reached downstream packages and deployed images. The source’s seven-unfixed-copy figure is a dated snapshot, not a permanent count; teams should check current advisories and vendor notices before closing remediation work.

Amazon

IT incident response and patch management software

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Key Questions

What is Broccoli2Shell?

Broccoli2Shell is the name used for CVE-2026-111497, a flaw in Google’s Brotli C decoder. The source says malformed compressed input can trigger an out-of-bounds write and memory corruption.

Which versions contain the fix?

The listed upstream fixes are Brotli 1.0.10, 1.1.1 and 1.2.1. The appropriate version varies by runtime or distributor; the source lists specific fixed Node.js, Python, Bun, Envoy, Istio, .NET and Debian releases.

Does upgrading Express fix the issue?

No, not by itself. The source says the flaw is in Brotli, not Express. Applications using affected body parsers need to update the Brotli component or runtime that performs decoding, then restart the process.

Is Broccoli2Shell being exploited in the wild?

The supplied source reports no confirmed in-the-wild exploitation as of Oct. 26, 2026. It says CISA data listed exploitation as “none” and the CVE was not in the KEV catalog, while also describing a researcher demonstration of code execution.

Why must affected services be restarted?

According to the source, a running process keeps using its already-loaded decoder after a package update. Restarting the service loads the patched code.

Source: ThorstenMeyerAI.com

This content is for general information only and is not financial, tax or legal advice. Consult a qualified professional for decisions about your money.
HALLOWEEN

Halloween Picks

As an affiliate, we earn on qualifying purchases.

You May Also Like

The Swarm Is The Weapon: Why Agentic Attacks Break The Defensive Playbook

Analysis of how agentic AI swarms challenge traditional cybersecurity defenses by operating in parallel, sharing knowledge instantly, and chaining vulnerabilities.

What Quantum Computing Could Mean For AI And Financial Security

AI-assisted mathematics has renewed questions about cryptographic assumptions, but no major protocol has been shown to be broken.

AI Changelog Digest For Open-source Maintainers

A new AI-driven weekly digest tool for solo open-source maintainers is entering testing, aiming to simplify release summaries and issue tracking.

The Defender’s Window Is Closing Faster Than Anyone Is Counting

Recent developments show AI models rapidly advancing offensive capabilities, raising urgent questions about defense and timing as capabilities move from models to downloadable tools.