TL;DR
Get privacy and security gear delivered free with Prime
- Fast, free delivery on millions of items
- Prime Video, Amazon Music and more included
- Member-only deals all year
The vulnerability disclosed as Node2Shell in Node.js has been tied to an out-of-bounds write in Google’s Brotli decoder, with potential effects across other runtimes and HTTP software that use affected decoder versions. Patches were available for several projects as of October 23, 2026, but the source report said additional fixes were still pending; administrators should identify bundled Brotli copies and verify remediation.
A critical flaw in Google’s Brotli decoder disclosed in Node.js as “Node2Shell” has been identified in other runtimes and HTTP-related software, widening the set of products administrators need to check. Aikido Security reported on October 23, 2026, that patches were available for several projects, including Node.js, Python packages, Bun, Envoy and the upstream Brotli library, while other fixes were still emerging.
The issue is tracked as CVE-2026-111497. Aikido describes it as an out-of-bounds write in Brotli decoder versions 1.0.3 through 1.2.0, across platforms. A crafted compressed stream can cause memory corruption; the report says possible consequences include a process crash, sensitive-data exposure and potentially arbitrary code execution. It gives the vulnerability a CVSS v4.0 score of 9.2, rated critical.
The risk can extend beyond a directly installed Brotli library. HTTP clients, servers and other applications may load or bundle a decoder as a dependency. Aikido specifically names Python clients including requests, httpx and aiohttp as potentially affected when vulnerable Brotli packages are installed. Its report says Apache and Nginx do not decode Brotli by default, and that Apache’s standard mod_brotli does not decode Brotli; this does not establish that every configuration or related component is unaffected.
At the time of the report’s October 23 update, recommended fixes included Brotli 1.2.1 or later, Python Brotli 1.2.1 and brotlicffi 1.2.1.0, and specified patched releases of Node.js, Bun, Envoy and Istio. Aikido also advised updating curl or libcurl’s Brotli dependency, checking operating-system vendor updates, and rebuilding applications or container images that bundle vulnerable code. The listed versions are time-sensitive; users should check current advisories and supported release branches before upgrading.
Why Brotli Dependencies Expand Exposure
Brotli is used to compress and decompress web content, so a flaw in its decoder can affect software far beyond the runtime where the problem first became public. The practical exposure depends on whether an application processes attacker-controlled compressed data using a vulnerable decoder. The report says the issue may affect both servers receiving requests and clients accepting compressed responses, making dependency checks relevant across multiple parts of an organization’s infrastructure.
Finding every affected copy may take more than checking a package manifest. Products can bundle or statically link Brotli, and operating-system vendors may backport a fix without changing the upstream version number. Aikido also said that, as of October 23, advisory databases did not map the CVE to the named PyPI packages, meaning some common scanning tools might not flag them. That gap makes vendor advisories, build inventories and runtime verification important alongside automated alerts.
For organizations that cannot patch immediately, Aikido recommended disabling Brotli decoding where feasible until a fix is available. That is a temporary mitigation, not proof that a system is safe: operators need to determine which components decode untrusted streams and confirm any workaround does not leave another bundled copy exposed.
Products Worth Considering

Google Nest Cam Indoor (Wired, 3rd Gen) – Security Camera – Snow

Google Nest Cam Indoor Security Camera, 3-Pack

Philips Hue Secure Wired Video Doorbell, 2K, Black
As an affiliate, we earn on qualifying purchases.
Node.js disclosed the vulnerability on Wednesday, October 21, under the name Node2Shell, according to Aikido’s timeline. The initial report concerned Node.js processes decompressing attacker-controlled Brotli data. Python disclosed exposure in packages the following day, and by Friday, October 23, Aikido said the issue was known to affect other major languages and HTTP-based applications.
Aikido attributes the underlying defect to decoder behavior that continues accepting bytes when it should reject malformed input. Those bytes can overflow a working buffer and corrupt memory. The report says OpenAI found the issue in February and reported it as unauthenticated remote code execution that could affect either an unpatched server or a client receiving compressed responses from a malicious server. According to Aikido, the underlying source-code change was made in February, but its security implications were not recognized then and a fixed release had not yet shipped.
Because projects may incorporate their own copies of Brotli, a fix to the upstream source does not automatically update every dependent application. Aikido’s October 23 update listed patches for several projects, while warning that more were still to come. Its version guidance distinguishes supported release branches from older ones, some of which are end of life; operators should use a maintained branch where possible.
““Check if you are decoding Brotli as a dependency within your libraries.””
— Aikido Security
Which Products Still Need Fixes
The October 23 report did not provide a complete list of every affected HTTP library, server, proxy, gateway or managed service. It said patches were available for several named projects, with more expected, but did not establish that all vendors had issued fixes. The precise exposure of a particular deployment depends on its decoder version, build configuration and handling of compressed input.
It also remains unclear from the supplied material how quickly every package index and vulnerability scanner will map the CVE to affected packages. The report’s warning about PyPI advisory mapping is explicitly dated October 23 and may change. Organizations should not treat the absence of an automated alert, or an upstream version number that appears unchanged after a vendor backport, as conclusive evidence that a system is unaffected.
Patch, Rebuild and Verify Workloads
Administrators should inventory applications that decode Brotli, including indirect dependencies, bundled libraries, container images and compiled executables. They should apply the security-fixed release recommended by each project or operating-system vendor, update dependency locks, then rebuild and redeploy affected images and applications. Aikido advises restarting services and checking that running workloads actually use patched components.
Where an upgrade is not yet available, teams can assess whether Brotli decoding can be disabled as a short-term measure and confirm remediation plans with managed-service providers. Further vendor advisories and updated package mappings are expected to clarify the remaining affected products. The source material does not give a single deadline for those updates, so users should monitor the relevant maintainers and suppliers.
Key Questions
What is CVE-2026-111497?
It is an out-of-bounds write in the Brotli decoder, reported to affect versions 1.0.3 through 1.2.0. Aikido says crafted compressed data may cause memory corruption, with possible outcomes including a crash, data exposure or potentially arbitrary code execution.
Does this affect only Node.js?
No. Node.js disclosed the issue as Node2Shell, but Aikido later reported affected Python packages and broader exposure in software using Brotli, including other runtimes and HTTP-related applications. Whether a particular product is vulnerable depends on its decoder and version.
Which versions does the report recommend?
Aikido lists Brotli 1.2.1 or later and patched releases for projects such as Node.js, Bun, Envoy and Istio. Python guidance names Brotli 1.2.1 or later and brotlicffi 1.2.1.0 or later. Check the current advisory for the product and supported branch you use.
What if a patch is not available?
Aikido recommends disabling Brotli decoding where possible until a patch is ready. Treat this as a temporary risk-reduction step, and confirm which application components process compressed data and whether they include bundled decoder copies.
How can an organization confirm remediation?
Update the relevant library or vendor product, refresh dependency locks, rebuild affected containers and compiled applications, redeploy and restart services. Then verify that active workloads use the fixed component; package manifests alone may not reveal bundled or statically linked copies.
Source: hn
