A Brotli Fix Sat Unreleased Since February. Node.js, Python and Envoy Are Patching One at a Time
A critical memory-corruption vulnerability (CVE-2026-111497) in Google’s Brotli decoder, rated 9.2 CVSS 4.0, was publicly patched this week. The underlying fix had been committed in February, but its security implications were not recognized until recently, leading to a delayed release. Discovered by OpenAI’s Codex Security team, the flaw allows a crafted data stream to potentially corrupt memory, leak data, or execute code in services using Node.js, Python, Bun, Envoy, or Istio.
The Brotli decoder vulnerability presents a significant risk, as it can be exploited remotely by an unauthenticated attacker. OpenAI noted that the flaw affects both unpatched servers that accept compressed input and unpatched clients that receive it, highlighting a broad attack surface for memory corruption, data leakage, process crashes, or remote code execution.
Although the root cause was addressed in the Brotli source code in February, its security relevance was not initially understood, and a public release incorporating the fix did not occur until Google issued updated Brotli versions on Wednesday. This situation necessitated that various software projects, including Node.js, Python, Bun, Envoy, and Istio, which often embed their own copies of the decoder, issue their own independent patches.
Organizations must now identify and update all instances of the Brotli decoder across their systems. Node.js has released fixes in versions 22.23.4, 24.22.1, and 26.12.1. Python packages such as `Brotli` and `brotlicffi` require updates to version 1.2.1.0. For environments where immediate patching is not feasible, temporary mitigations involve configuring systems to reject Brotli-compressed input before it reaches any decoder, a strategy that requires careful implementation to be effective.
Share this article
Related reading
6 stories
It’s time to find a new browser
This story about patching critical software reminds us of the importance of choosing robust, secure browsers.

I built a small engine that gives local LLMs real tools

Mergetober: keeping an agent in sync with a Sanity CMS, with cognee

OpenAI Teases GPT-6.1 Astra Amid Relentless Hype Around The Mysterious GPT-6.2 Betelgeuse Model, As Another Evidence Surfaces Showing Kimi K3.1 Pro And GLM-5.3 As Products Of Distillation

Cruise ship suspends global voyage due to fuel costs

