Is your Node.js patched
against Node2Shell?
Node2Shell (CVE-2026-111497) is a critical remote-code-execution flaw in the Brotli compression library bundled inside Node.js — an out-of-bounds write reachable through attacker-controlled Brotli data. This check reads the Node.js version your service reports, compares it to the fixed releases, and emails a signed PDF verdict. It reads the version only.
config/.env:
SMTP_HOST, SMTP_USERNAME, SMTP_PASSWORD, MAIL_FROM, RECAPTCHA_SITE_KEY, RECAPTCHA_SECRET. Copy config/.env.example to config/.env
and fill it in. See docs/SMTP-SETUP.md.
What is Node2Shell
Node2Shell is CVE-2026-111497, an out-of-bounds write in the Brotli decompression library that Node.js bundles. When Node decompresses attacker-controlled Brotli data, the flaw permits remote code execution. It headlined a Node.js security release that fixed 10 CVEs in total (4 High, 3 Medium, 3 Low). End-of-life Node.js lines received no fix and remain exposed.
Node2Shell — an out-of-bounds write in the Brotli decompression library bundled with Node.js, reachable when decompressing attacker-controlled Brotli data. It permits remote code execution and is the headline flaw of the October 2026 release.
CVE-2026-105482, CVE-2026-106069 and CVE-2026-105483 are three more High-severity issues fixed in the 21 October 2026 release, alongside three Medium and three Low CVEs. See the Node.js security advisory for the full technical list.
Affected & fixed releases
Supported lines are fixed in 22.23.4, 24.22.1 and 26.12.1 (released 21 Oct 2026). Node.js 20 (EOL Apr 2026), 25 (EOL Jun 2026), 21, 23 and older receive no fix and are always affected. Rebuild container images from a patched base.
| Line | Fixed release | Status |
|---|---|---|
| Node 22 | 22.23.4 | Supported |
| Node 24 | 24.22.1 | Supported |
| Node 26 | 26.12.1 | Supported |
| Node 20, 25, 21, 23 & older | no security fix | End-of-life |
Four gated steps
Work-email domain must match the site's domain; confirm permission; pass reCAPTCHA.
One ordinary request reads the version from the response headers. Never the exploit.
The version is compared to the fixed releases per line, giving one clear verdict.
A branded, dated PDF is emailed to the verified work address.
How it unfolded
- 30 Apr 2026Node.js 20 reached end-of-life. End-of-life lines are always affected when a security release occurs, because the fixes are never backported.
- 1 Jun 2026Node.js 25 reached end-of-life, joining 21 and 23 as unsupported odd-numbered lines.
- 21 Oct 2026Node.js published a security release across all supported lines — 22.23.4, 24.22.1 and 26.12.1 — fixing 10 CVEs (4 High, 3 Medium, 3 Low). It is headlined by CVE-2026-111497 ("Node2Shell"), an out-of-bounds write in the bundled Brotli decoder that permits remote code execution.
- 21 Oct 2026End-of-life lines (20, 21, 23, 25 and older) received no fix and remain affected. No workarounds were published.
For a full assessment beyond this version check — configuration, exposed endpoints and remediation support — talk to the XDEFENSE team.