Google's Brotli decoder flaw requires updates beyond Node.js, with Python bindings also shipping fixes for CVE-2026-111497. The upstream 1.2.1 release, published October 21, identifies an out-of-bounds write that permits remote code execution. For developers, the immediate question is which deployed components decompress untrusted Brotli data. Exposure depends on that code path, and this article does not establish exploitation in the wild.
The Node.js project's October 21 advisory explains how malformed input can corrupt process memory. Python's BrotliCFFI maintainers separately document the same security fix in version 1.2.1.0. That gives teams a concrete reason to look beyond their JavaScript runtime when checking applications.
An eight-byte buffer that kept accepting input
According to Node.js, the decoder treated an invalid block switch as a temporary need for more input rather than a permanent format error. It continued appending bytes to an eight-byte internal buffer. An attacker who can get an application to decompress crafted data through node:zlib can trigger memory corruption, with possible outcomes including a crash or remote code execution.
The practical implication of those attack requirements is to trace untrusted compressed input to the decoder when prioritizing updates. A dependency inventory alone cannot establish whether an application exposes that path.
Fixed versions depend on the component
The Node.js security release supplies updates for its 22.x, 24.x and 26.x lines: 22.23.4, 24.22.1 and 26.12.1, respectively. Those are runtime updates, so changing an application's npm dependencies alone does not replace the decoder bundled with Node.js.
For Python, the GitHub-reviewed advisory lists patched versions of Brotli as 1.2.1 and brotlicffi as 1.2.1.0. It also identifies fixed upstream releases 1.0.10 and 1.1.1 for older Brotli branches. Version checks therefore need to account for the release branch rather than treating every number below 1.2.1 as unpatched.
BrotliCFFI's version-matched changelog confirms that 1.2.1.0 upgrades libbrotli to 1.2.1 to remediate the CVE. It also says decompression calls now reject trailing bytes after a complete Brotli stream. Applications that previously accepted such input should check their error handling during the update. We reviewed the release documentation and advisories, without running an exploit or compatibility tests.
Follow the fix into deployed applications
In its October 23 report, updated October 24, Aikido describes the wider dependency problem: software that bundles Brotli needs its own update. It recommends rebuilding affected applications and container images, restarting services and verifying that running workloads use patched components. Where a fix is unavailable, it recommends disabling Brotli decoding temporarily.
The next thing to watch is whether application vendors ship those rebuilt components. Aikido's guidance makes the operational check specific: confirm the version actually running after deployment. An upstream fix can be available while an older bundled decoder remains in service.