A critical Node.js flaw can let attackers run code through specially crafted compressed data. We find every runtime, check which apps are really exposed, patch, and look for signs of a breach.
A fixed-price check, patch and breach scan for your Node.js servers, covering up to 3 applications, so the critical Brotli flaw is closed where it matters and any damage is found early.
A critical flaw was reported in the Brotli decompression code that ships with Node.js, known as Node2Shell (CVE-2026-111497). It is triggered when Node.js decompresses data an attacker controls, and it can crash a process, leak memory, or possibly allow code to run. A proof of concept has been published.
Not every Node.js app can be reached. The flaw matters most where an application accepts compressed request bodies (for example Express 5 or body-parser 2.x reading requests marked as Brotli), fetches data from servers you do not control (including webhooks and user-supplied URLs), or passes untrusted input to the built-in Brotli functions. Many servers also run several Node.js versions at once, in containers, build runners and process managers, so the real picture is often hard to see.
This service gives you that picture and fixes what it can. We find every Node.js runtime on the server, review up to 3 applications for the routes above, and update Node.js to the fixed release where we control the server. Where patching has to wait, we add a stopgap at your proxy that blocks risky requests. We then check for common signs of a breach and send a written report with every change and what to do next.
A proxy rule or firewall reduces exposure but does not replace updating Node.js.
Servers, containers and build runners are all checked.
Fixed release where we control it, proxy stopgap where not.
Up to 3 apps checked for the routes the flaw needs.
Buy the service for each server. Tell us the server type, hosting provider and the names of up to 3 applications. You receive a short list of the access we need.
You share access securely. We find every Node.js runtime on the server, including inside containers, and record the exact versions.
We review up to 3 applications for the routes the flaw needs: compressed request bodies, outside fetches and direct Brotli use.
We update Node.js where we control the server, add a proxy stopgap if patching must wait, then check for signs of a breach.
You receive a written report with every change, the findings, and advice on upgrades, cleanup or further protection.
Not every Node.js app can be reached by this flaw. It matters most where an app accepts compressed request bodies, fetches data from servers you do not control, or passes untrusted data to the built-in Brotli functions. We check which of these apply to your apps and compare your versions with the official Node.js advisory.
Often, yes. Servers commonly have a system version, versions inside containers, and others used by process managers or build tools. Our runtime inventory finds all of them, so nothing is left unpatched by accident.
End-of-life versions have no official fix. We add a proxy stopgap and report the remaining risk. The real solution is moving to a supported release line, which is a separate service charged separately. See our web development and maintenance services.
It rejects requests whose body is marked as Brotli-compressed before they reach your application. This closes the request route only. It does not cover data your app fetches from other servers, so it is a temporary measure and not a replacement for updating Node.js.
One purchase covers one server, such as a VPS, dedicated server, cloud instance or container host, and up to 3 Node.js applications on it. If you have several servers, order one for each. For more than 3 applications on a server, contact us.
Build-only use is much less exposed, but build servers and CI runners should still run a supported, patched version. If you also want to bring an older Angular project up to date, see our Angular Version Upgrade Service.
Application processes need a restart, which can cause a brief interruption. We agree a suitable time with you first, and we keep copies of the configuration so any change can be reversed.
No. Patching closes the door but does not remove anything an attacker already left. Our breach check looks for common signs. If we find any, cleanup is a separate service, such as our Emergency Website Recovery.
Yes, it is a separate service because PHP has its own critical flaws. See our PHP Security Patch and Exposure Check.
Root or deployment access for a VPS or container host, or access to your hosting platform. Please share access only through the secure channel we send, never in the order note. Most servers are completed within 1 to 2 working days of receiving access.
You might also be interested in these services.