A memory-corruption flaw in Google's Brotli decoder has been disclosed as CVE-2026-111497, affecting a wide range of software that unpack Brotli-compressed data. The vulnerability can enable crafted Brotli streams to overwrite memory past the end of a buffer, potentially causing a crash, memory leaks, or even attacker-controlled code execution.
Imperva’s Red Team demonstrated that code could run on an unpatched Node.js 24.22.0 build on Linux ARM64, in what the researchers call Node2Shell, although similar exploitation has not been shown on other affected software and there have been no reported real-world attacks at the time of disclosure. The issue originates in the Brotli C decoder and propagates to any programme that reuses that code, from language runtimes to proxies and Python packages.
The flaw is linked to a staggered fix history. The root problem was altered in Brotli’s source on 27 February, but no new Brotli release carried the fix until 21 October. Google’s Brotli library (1.0.3–1.2.0) remains vulnerable in those versions, with fixes delivered in Brotli 1.0.10, 1.1.1 and 1.2.1.
Corresponding advisories show exposure when a program decodes untrusted Brotli data, through mechanisms such as Content-Encoding: br in HTTP responses or Brotli decoding of request bodies in Node.js, Bun, Envoy, Istio, Python, and related packages. OpenAI’s disclosure notes unauthenticated remote code execution in Brotli for affected runtimes, though evidence of widespread exploitation remains limited; CISA recorded exploitation as none and no public PoC was reliably documented.
The recommended response is to update to fixed versions and restart services, and, where updating is not yet possible, to stop decoding untrusted Brotli inputs, rejecting br-encoded content at the earliest stage. In Python, that may involve removing the Brotli or brotlicffi packages; Node.js users should update the runtime, as no workaround has been published.