Is Your Broccoli2Shell Fix Complete? Review Patches, Restarts, And Checks
AIThis post was created with the assistance of artificial intelligence (AI).

🔍 Read the full analysis: Is Your Broccoli2Shell Fix Complete? Review Patches, Restarts, And Checks on ThorstenMeyerAI.com

Buying for a business?Offer from Amazon

Get business pricing on tech for your team

  • Business-only prices and quantity discounts
  • Tax-exempt purchasing
  • Multiple users, one account, clear invoices
As an affiliate, we earn on qualifying purchases.

TL;DR

Broccoli2Shell, tracked as CVE-2026-111497, is a memory-corruption flaw in Google’s Brotli decoder that affects multiple runtimes and software packages. Fixes are available for several major components, but organizations must update the affected dependency and restart running processes; the source material reports seven bundled copies still unfixed as of October 26, 2026.

Fixes for Broccoli2Shell, a critical flaw in Google’s Brotli decoder tracked as CVE-2026-111497, are now available for several widely used runtimes and packages, but applying a patch may not complete remediation: operators also need to restart processes using the vulnerable decoder. The issue can cause memory corruption when software handles crafted compressed data, and the source material says seven bundled copies remained unfixed as of October 26, 2026.

The flaw affects Brotli C decoder versions 1.0.3 through 1.2.0. According to the Node.js advisory, malformed input can be treated as data that is still arriving, rather than as invalid, causing the decoder to write beyond an internal buffer. The consequences can include a crash or memory exposure; code execution is a possible worst-case outcome, not a confirmed result for every affected system.

Available fixed releases listed in the source include Brotli 1.0.10, 1.1.1 and 1.2.1; Node.js 22.23.4, 24.22.1 and 26.12.1; Python Brotli 1.2.1 and brotlicffi 1.2.1.0; and Bun 1.4.4. Fixes are also listed for Envoy, Istio, .NET and Debian packages. These version numbers are specific to each project; administrators should follow the advisory for the actual component and release they use.

Updating files alone may leave a service exposed. A running process can continue using its already loaded decoder, so the source advises restarting after patching. Checks should cover direct dependencies and software that bundles Brotli, including containers and system packages. Official Node.js builds include their own Brotli copy, while some Linux distributions use a system library, so the correct update path can vary.

At a glance
updateWhen: Developing; fixes and affected-package…
The developmentSecurity fixes for the Broccoli2Shell Brotli decoder flaw have spread to major runtimes and packages, prompting users to patch dependencies and restart processes 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

Why Brotli Reaches Many Stacks

Brotli is used to compress web traffic and is also included in tools that process files. That makes this more than a single-runtime patch: the same underlying decoder can reach applications through HTTP responses, accepted request bodies and file-processing features. The source identifies Node.js fetch and several Python HTTP clients as examples of software that can decode Brotli responses, while some Express and body-parser versions can inflate Brotli request bodies when configured to do so.

The practical risk depends on whether a system actually processes attacker-controlled compressed input and how its dependencies are packaged. Still, the number of downstream copies complicates response. Teams may need to patch an application package, runtime, operating-system package or container image—and verify that deployed processes have restarted. The source reports that a public proof of concept appeared on October 22, but says CISA data listed exploitation as “none” and the CVE was not in CISA’s Known Exploited Vulnerabilities catalog as of the report. That is not proof that exploitation is impossible or that every environment is safe.

Products Worth Considering

Jackery Explorer 2000 v2 Portable Power Station with Two 200W Solar Panels

Jackery Explorer 2000 v2 Portable Power Station with Two 200W Solar Panels

As an affiliate, we earn on qualifying purchases.

From Brotli Commit to Runtime Fixes

The source says the underlying change entered Brotli’s code on February 27, 2026, under a commit titled “Detect and report invalid stream earlier.” It reports that releases containing the fix arrived October 21, a gap of 236 days. The commit did not identify the change as a security fix, according to the source, and OpenAI said the vulnerability was not known at the time and that Brotli had no later release.

The CVE became public on October 22, followed by a public proof of concept that day, according to the source’s cited tracker. Security advisories and package fixes then spread across projects. As of October 26, that tracker listed seven bundled copies as still unfixed, including copies associated with DuckDB, Apache Arrow, 7-Zip-zstd, p7zip and EDK II firmware tools; it also said five other projects had fixes in their main branches. Those tracker counts reflect the date of the source report and may change.

Unfixed Copies and Exposure Questions

The source’s October 26 count of seven unfixed bundled copies is a dated snapshot, not a complete or live inventory. It does not establish whether every product named is reachable by untrusted input, whether all affected deployments have updated, or how many systems remain vulnerable. Bundlers and maintainers may release changes after the report.

Exploitability also varies by how a decoder is used. The source says Imperva demonstrated code execution on an unmodified official Node.js image after several attempts, while CISA data listed no exploitation. These statements are not contradictory: a demonstration establishes a reported test result, while the CISA status concerns known exploitation in the wild. Public exploitation status can change, and the provided material does not establish that attackers are currently using the flaw.

Patch, Restart, Then Verify

Organizations should identify Brotli versions across application dependencies, runtimes, operating-system packages, container images and embedded copies, then apply the fixed release for each affected component. After deployment, restart services and workers that may retain the old decoder in memory. A package update without a restart may not replace code already loaded by a running process.

Teams should also monitor vendor advisories and the status of bundled copies that had no fix listed in the October 26 report. Confirm the deployed version in the environment that handles real traffic or files, not only in a development lockfile. The available source does not give a universal verification command or say when all downstream projects will publish fixes; the next milestones are project-specific releases and updated security advisories.

Key Questions

What is Broccoli2Shell?

Broccoli2Shell is the name used for CVE-2026-111497, a flaw in Google’s Brotli C decoder. The reported bug can cause an out-of-bounds write when malformed compressed input is processed.

Does installing the patch finish the fix?

Not necessarily. The source says to restart affected processes after updating because a running service may still have the old decoder loaded. Verify the version in the deployed environment as well as updating the package.

Which Node.js versions have fixes?

The source lists Node.js 22.23.4, 24.22.1 and 26.12.1 as fixed. It says Node.js 20, 23 and 25 do not receive a fix, so users on those lines should consult Node.js guidance for supported options.

Is Broccoli2Shell being exploited in the wild?

The source says CISA data listed exploitation as “none” and the CVE was not in CISA’s Known Exploited Vulnerabilities catalog as of October 26, 2026. It also reports a public proof of concept and a code-execution demonstration on an unmodified Node.js image; neither alone establishes widespread in-the-wild exploitation.

Could my application be affected if I do not use Brotli directly?

Yes. A runtime, HTTP client, proxy, package or tool may include Brotli indirectly or bundle its own copy. Check the dependencies and deployment components that process compressed responses, request bodies or files.

Source: ThorstenMeyerAI.com

You May Also Like

Three Days at the Frontier: Washington Suspends Fable 5 and Mythos 5

The US government has suspended access to Anthropic’s Fable 5 and Mythos 5 models amid national-security concerns over a jailbreak demonstration, affecting global users.

The Fine Line Between AI Agent Help And Too Much Access

Reported agent mistakes, bank concerns and conflicting assurances highlight the risks of giving AI tools access to accounts and money.

Ukraine Is Striking Russia’s Amazon — Because Wildberries Is More Than A Shopping Site

Ukraine has launched drones strikes on Wildberries warehouses across Russia, aiming to disrupt the platform’s role in military and civilian supply chains amid ongoing conflict.

When Notes Become Part Of The Approval Process For AI Agent Swarms

OpenAI and Swarm Chasers reports show how agents can treat peer messages or hidden notes as instructions, raising questions about authorization.