
A critical flaw in Brotli, a compression technology used by modern software, has triggered urgent cybersecurity warnings after authorities reported active exploitation. Tracked as CVE-2026-111497 and known as Node2Shell, the vulnerability can corrupt computer memory when affected software processes specially crafted compressed data. Under the right conditions, an attack could crash an application, expose information or execute code inside an affected process. The risk is serious, but exposure depends on the software and how it handles untrusted data.
On 27 October 2026, the US Cybersecurity and Infrastructure Security Agency (CISA) added the vulnerability to its Known Exploited Vulnerabilities catalogue. On 29 October, NHS England reported researchers’ successful code-execution demonstrations against a vulnerable Node.js version, alongside reports of exploitation attempts. New Zealand’s National Cyber Security Centre also reported awareness of active exploitation and publicly available proof-of-concept exploits.
These warnings make prompt remediation important for organisations running affected software. They do not mean every phone, laptop, browser or website is vulnerable, or that every affected installation has been compromised.
The key takeaway
Everyday users should update their software through official channels and avoid fake emergency patches. Developers and IT teams should identify affected components, check their actual exposure, apply the relevant vendor fixes and investigate credible signs of compromise.
What Is Brotli, and Why Does This Flaw Matter?
Brotli is an open-source compression technology developed by Google. Compression reduces the size of data so it can be transferred or stored more efficiently. Web servers and applications can use Brotli to compress content, while compatible software decompresses that content when it needs to use it.
Think of compression as packing clothes into a suitcase. Packing makes the load smaller, but someone still needs to unpack it correctly. Brotli’s decoder performs that unpacking process for compressed data.
The problem in CVE-2026-111497 is an out-of-bounds write. In simple terms, the decoder can be made to write data beyond the memory area it was supposed to use. Node.js’s technical advisory explains that malformed compressed input can cause the streaming decoder to keep appending data to a small internal buffer when it should instead reject the invalid input.
Memory corruption can have different consequences. It may crash a process, expose information from memory or, under suitable conditions, help an attacker execute code in the affected process. The outcome depends on the application, how the vulnerable code is reached and the protections around it.
Although Node.js was an initial focus of the disclosure, official advisories identify other affected software ecosystems and packages, including particular .NET, Java and Python components. That does not mean every product in those ecosystems is automatically exposed.
Technical references: Brotli source code and Node.js security advisory.
What Happened and When?
The timeline shows how the issue developed from a security release into wider warnings about exploitation. The dates below distinguish the initial software fixes from subsequent advisories and reports.
Node.js publishes security fixes
The Node.js project published security releases addressing CVE-2026-111497 and other vulnerabilities. Its advisory explains that applications processing attacker-controlled Brotli data through the affected decoder may be at risk.
Read: Node.js security release.
Canadian cybersecurity guidance highlights the risk
The Canadian Centre for Cyber Security issued an advisory describing the vulnerability, affected software and recommended mitigations. Its guidance advises organisations to identify exposed systems, apply relevant fixes and prevent affected applications from processing untrusted Brotli data if immediate remediation is not possible.
Read: Canadian Centre advisory.
CISA lists the vulnerability as exploited
CISA added CVE-2026-111497 to its Known Exploited Vulnerabilities catalogue. This is an important signal for defenders because the catalogue tracks vulnerabilities with evidence of exploitation.
The listing does not tell us how many victims there are, nor does it prove that a particular device or organisation has been compromised.
Check: CISA’s KEV catalogue.
Further vendor release information becomes available
The Canadian advisory was updated with additional details. Node.js also published newer releases on 28 October, including 24.22.2 and 26.13.0. Administrators should use the latest supported release for their branch rather than assume the first fixed version remains the latest release.
NHS England and New Zealand’s NCSC warn of exploitation
NHS England reported researchers’ successful code-execution demonstrations against Node.js 24.22.0 after multiple attempts, alongside reports of exploitation attempts. Its National Cyber Security Operations Centre assessed further exploitation as highly likely.
New Zealand’s NCSC separately reported awareness of active exploitation and public proof-of-concept exploits. Its product guidance also shows why patch status must be checked individually: fixes are available for some products, while other products or branches remain partially remediated or awaiting a fix.
Read: NHS England alert and New Zealand NCSC alert.
Who May Actually Be at Risk?
The key question is not simply whether a product contains Brotli. It is whether an affected decoder is present and can be reached through a path that processes attacker-controlled compressed data.
Websites, APIs and online services
A service may be exposed if it uses a vulnerable decoder and accepts untrusted Brotli-compressed data through an affected code path. Depending on the application, an attack could affect the process handling that data. The vulnerability’s presence alone does not establish that a particular website can be remotely exploited.
Businesses using Node.js and packaged dependencies
Organisations may use vulnerable components in APIs, web applications, background jobs, containers or third-party products. A team may not have written the decoder itself, so reviewing only its own source code is not enough.
For example, a company might update a library in its development repository but continue running an older container image in production. The update would not protect the running deployment until the corrected image is built and deployed.
Applications using .NET, Java or Python components
Official advisories identify affected components across these ecosystems, but exposure conditions differ. Microsoft’s .NET advisory, for example, says ASP.NET Core and HttpClient do not automatically decompress Brotli data in their default configurations. Exposure can arise when applications explicitly enable Brotli decompression or use relevant APIs to process attacker-controlled data.
Microsoft states that .NET Framework is not affected by this particular advisory. Always check the exact product and package named in the vendor’s guidance.
Source: Microsoft .NET security advisory.
Everyday internet users
Most consumers cannot see which compression libraries a website or app uses, and they generally cannot update a library inside someone else’s service. Their practical role is to keep their own software updated, use official update channels and avoid fake downloads that claim to provide an emergency Node2Shell patch.
Important distinction: a product may contain an affected component without being exposed through an exploitable path. An advisory about active exploitation also does not mean that every installation has been attacked.
What Could an Attacker Do?
Official advisories describe several possible outcomes. These are risks associated with successful exploitation, not guaranteed results for every affected product.
1. Cause a service or application to crash
Example: imagine a booking service that processes compressed input. If malformed data triggers the flaw and crashes a vulnerable worker process, part of the service could stop responding until it recovers.
This illustrates a possible denial-of-service impact. It does not establish that every vulnerable service can be taken offline or that an entire website would necessarily stop working.
2. Potentially expose information in memory
Example: an application temporarily holds working information while processing a request. If exploitation allows information to be disclosed from that process’s memory, some of that information could potentially be exposed.
The type and amount of information depend on the application and the exploitation conditions. There is no basis for claiming that Node2Shell automatically reveals passwords, payment details or every user’s records.
3. Execute code inside an affected process
Example: a vulnerable service processes specially crafted compressed data. Under suitable conditions, an attacker may exploit the memory corruption to execute code within the affected process.
The consequences depend on that process’s permissions and the surrounding security controls. Code execution in one restricted process does not automatically mean full control of the server or the wider network.
What the evidence says: NHS England reported successful code-execution demonstrations against Node.js 24.22.0 after multiple attempts. That is meaningful evidence of risk, but it should not be presented as proof that every affected installation is equally exploitable.
What Should Everyday Users Do?
You do not need to install a separate Brotli library or understand technical vulnerability reports to take sensible precautions. Focus on actions you can verify and control.
-
1. Update your operating system, browser and apps.
Use built-in update settings or the software provider’s official website. Updates may include security fixes for components you cannot see directly.
Why it matters: this reduces the time your own software remains exposed to known flaws. It does not guarantee that every third-party service you use has been patched.
-
2. Avoid unsolicited “emergency patch” downloads.
If a pop-up, email or social media post tells you to download a special Node2Shell fix, do not trust it without verification. Open the vendor’s official website or the app’s own update settings instead.
Why it matters: criminals can exploit breaking security news to distribute malicious files disguised as updates.
-
3. Follow verified notices from services you use.
If a service publishes a genuine security notice, follow the instructions on its official website or app. Avoid signing in through unexpected links in messages.
Why it matters: this helps you respond to real alerts without handing credentials to a fake website.
-
4. Keep automatic updates enabled where practical.
Use automatic updates for supported devices and applications where appropriate. If an app does not update automatically, check it periodically.
Why it matters: it reduces the chance of missing an important security update, although it cannot patch a service managed by another organisation.
-
5. Respond to actual evidence of account compromise.
If you have independent evidence that an account has been compromised, open the service through its official app or website, change the password, enable multifactor authentication where available and review recent account activity.
Why it matters: these are sensible account-security steps. They are not evidence that Node2Shell itself has stolen your credentials.
For most consumers: you do not need to stop browsing the internet because of this alert. Keep your software updated, avoid suspicious downloads and follow verified instructions from the providers whose products you use.
What Should Developers and IT Teams Do?
Technical teams have more direct responsibility because they can identify software components, determine whether an exploitable path exists and deploy the appropriate fixes.
1. Inventory the components that could be affected
Review Node.js runtimes, Brotli libraries, operating-system packages, application dependencies, container images and third-party products. Check dependency lockfiles, software inventories and container build files where relevant.
Why it matters: the vulnerable component may be bundled inside an application or container instead of installed as a system-wide library.
2. Check exposure, not just package presence
Determine whether the affected decoder processes attacker-controlled compressed data and whether that path is reachable from an untrusted source. Review application settings and code that explicitly enable decompression.
For .NET, consult Microsoft’s advisory for the specific APIs and configurations that matter. Do not assume that every installation containing an affected package is automatically remotely exploitable.
3. Apply the correct vendor fix
Use the advisory for the exact product, release branch and package. Do not rely on a single upstream version table to assess every Linux distribution or bundled application. Vendors may backport security fixes while retaining older-looking version numbers.
Why it matters: comparing version strings without vendor context can produce false alarms or cause a vulnerable system to be incorrectly marked as fixed.
4. Rebuild and redeploy affected applications
After updating a dependency or base image, rebuild and redeploy applications that package their own copy of the vulnerable component. Confirm that the running deployment contains the fixed code.
Why it matters: changing a source repository does not automatically replace a vulnerable library inside a running production container or a self-contained application.
5. Reduce exposure if a fix is unavailable
Follow the relevant vendor’s mitigation advice. Where technically appropriate, prevent the affected component from processing untrusted Brotli-compressed data until a fix is available. A vendor-supported patched container image may be another option.
Do not disable compression indiscriminately across production services. Test changes, understand their operational impact and ensure another code path does not continue to process the same untrusted data.
6. Monitor and investigate credible indicators
Review unexpected application crashes, abnormal process behaviour, suspicious outbound connections and other telemetry relevant to the affected service. Follow your incident-response process if evidence warrants further investigation.
Patching reduces future exposure; investigation helps determine whether suspicious activity has already occurred. An advisory alone does not prove that an attack succeeded.
Sources: Canadian Centre for Cyber Security and New Zealand NCSC.
Fixes and Affected Versions
Fixes are available for several affected components, but patch status varies by product and release branch. The upstream Brotli project has published fixed versions, and Node.js and other vendors have released updates. Some downstream packages may have their own version numbers or backported fixes.
Upstream Brotli library versions
| Affected upstream version | Fixed upstream version |
|---|---|
| 1.0.3 to versions before 1.0.10 | 1.0.10 |
| 1.1.0 to versions before 1.1.1 | 1.1.1 |
| 1.2.0 | 1.2.1 |
These are upstream library versions, not universal patch instructions for every operating system, package or application. For example, New Zealand’s NCSC lists distribution-specific fixes, partial remediation and products for which no vendor patch was available in its 29 October guidance. Always check the current advisory for your own product.
Node.js: use a current supported release
The Node.js security advisory published on 21 October listed these initial fixed releases for the affected release lines:
| Node.js release line | Initial fixed release | Later release information as of 29 Oct 2026 |
|---|---|---|
| 22.x | 22.23.4 | Check the official release page for the current supported release. |
| 24.x | 24.22.1 | 24.22.2 was published on 28 October. |
| 26.x | 26.12.1 | 26.13.0 was published on 28 October. |
The versions in the second column are the initial fixed releases listed by the security advisory, not a recommendation to remain on those versions indefinitely. Install the latest supported security release for the relevant branch and follow any subsequent vendor guidance.
.NET and other ecosystems
Microsoft’s advisory lists .NET fixed releases including 8.0.33, 9.0.22 and 10.0.14, as well as the specified .NET 11 release candidate. Check the advisory for the exact package and runtime requirements. Self-contained applications and NativeAOT deployments may need to be rebuilt and republished; updating a shared runtime alone may not replace a decoder bundled into an application.
For Python, Java, Linux distributions and other affected products, use the package maintainer’s or vendor’s specific guidance. If a patch is not yet available, apply the recommended temporary mitigation and monitor for updates.
Sources: Brotli releases, Node.js security releases, Node.js release announcements, Microsoft .NET advisory and New Zealand NCSC product guidance.
What This Threat Means in Practice
Node2Shell illustrates a security problem that is easy to overlook: a flaw in a shared software component can affect products that use it, even when the developers of those products did not write the component themselves.
But the presence of a vulnerable library is only the starting point of an exposure assessment. Defenders also need to determine whether the affected decoder is actually used, whether untrusted data can reach it, whether a vendor fix is installed and what privileges the affected process has.
These checks lead to three practical conclusions:
- For consumers: focus on official software updates and scam avoidance. You usually cannot inspect or patch a third-party service yourself.
- For developers: review the real dependency tree, decompression settings, application images and deployment process. Updating a package in source control is not enough if production still runs the old component.
- For security teams: prioritise internet-facing systems that process untrusted compressed data, follow product-specific advisories and investigate credible indicators rather than treating every affected package as proof of compromise.
This is also why incident reporting needs careful wording. An official record of exploitation is a reason to act, but it does not reveal the full number of victims or prove that every attempt succeeded. Accurate reporting helps readers make decisions without mistaking potential impact for a confirmed outcome.
For a broader explanation of how exposed personal information can be misused, read our guide: What Is a Data Breach?
Frequently Asked Questions
Does Node2Shell mean my phone or laptop has been hacked?
No. The vulnerability does not prove that your device has been attacked. Risk depends on the affected software and whether the vulnerable decoder can be reached through an exploitable path. Keep your operating system and apps updated through official channels.
Do ordinary users need to install Brotli themselves?
Usually not. Brotli is commonly included in software components or used by applications and services behind the scenes. Most users should update the software they already use rather than download a separate library or an unofficial patch.
Can Node2Shell allow remote code execution?
Potentially, under suitable conditions. NHS England reported researchers’ successful code-execution demonstrations against a vulnerable Node.js version. That does not mean every affected product is remotely exploitable in the same way.
What is the safest way for an organisation to fix it?
Identify the exact affected component, check the current vendor advisory, install the appropriate security release and rebuild or redeploy applications where necessary. If no fix is available, follow the product-specific mitigation advice, including limiting the processing of untrusted Brotli data where appropriate.
Are all versions of Node.js and .NET affected?
No. The advisories identify particular affected release lines, packages and exposure conditions. Use the official Node.js and Microsoft advisories to determine which versions and deployment types apply to your environment.
Final Advice: Act on the Evidence
Node2Shell deserves serious attention because it affects a widely used software component, is listed by CISA as an exploited vulnerability and has prompted warnings from cybersecurity authorities about active exploitation.
For everyday users, the most useful steps are straightforward: update software through official channels, avoid suspicious downloads and follow verified instructions from the providers whose products you use. Do not assume your accounts or devices have been compromised simply because the vulnerability exists.
For developers and organisations, identify affected components, verify the current patch status for each product, update and redeploy vulnerable applications, reduce exposure where a fix is unavailable and investigate credible signs of compromise.
The lesson is simple: take the vulnerability seriously, but base your response on the software you actually run and the evidence available. Accurate identification and prompt, product-specific remediation are more useful than panic or blanket claims that every system is at risk.
Sources and Further Reading
Explore the original advisories below. These primary sources provide the technical details, exploitation reporting and product-specific remediation guidance behind this report.
New Zealand NCSC
Exploitation warning, affected products, patch status and mitigation advice.
Official Alert ↗NHS England
Reported code-execution demonstrations, exploitation attempts and vendor guidance.
Read Alert ↗US CISA
Check the Known Exploited Vulnerabilities catalogue for the official listing.
Check KEV ↗Canadian Cyber Centre
Technical explanation, affected upstream versions and remediation advice.
Read Advisory ↗Node.js Project
Official security release notes for the Node.js Brotli decoder vulnerability.
Patch Details ↗Google Brotli
Upstream source code, release history and fixed library versions.
View Releases ↗Microsoft .NET
Affected .NET versions, fixed releases and conditions required for exposure.
.NET Advisory ↗This report reflects the cited advisories and release information available as of 29 October 2026. Patch availability and exposure conditions can change. Administrators should consult the latest guidance for their exact product, version and deployment.




Community discussion
Join the conversation
0 comments
Be the first to join in
There are no comments yet. Sign in to start a thoughtful discussion.
Sign in to comment
Join the conversation with your Secritic account. Comments are available to signed-in readers.