Node.js Brotli bug CVE-2026-111497: upgrade Node this week
The October 21 Node.js security release fixes a Brotli decoder memory bug that can allow RCE, plus three high TLS and DNS flaws. Upgrade to 22.23.4, 24.22.1 or 26.12.1.
Two days after PHP2Shell, it is the JavaScript side's turn. The Node.js October 2026 security release fixes CVE-2026-111497, a Brotli decoder bug that the Node.js team says can corrupt memory and may lead to remote code execution. OpenAI's Codex Security team reported it. If you run a Next.js site, a Shopify app, a webhook handler, or a small API on Node, this Node.js Brotli vulnerability is on your list this week.
What actually happened
On October 21, Node.js shipped security releases for every supported line. The fixed versions are 22.23.4, 24.22.1, and 26.12.1. The release covers ten CVEs, four rated High:
- CVE-2026-111497: malformed Brotli input can write past an internal decoder buffer. An attacker who can feed Brotli data to an app that decompresses it with
node:zlibcan cause a crash, leak process memory, or possibly run code. - CVE-2026-105482:
dns.resolve*()anddns.reverse()can cut a hostname at a NUL byte, so your app can act on a different name than it checked. - CVE-2026-105483 and CVE-2026-106069: two ways to slip past TLS certificate hostname checks when a host is written as, or loosely resolves to, an IP address.
The rest are medium and low issues, including crypto.randomUUID() entropy caches leaking into snapshots and single-executable apps. The release also updates bundled c-ares, Undici, and OpenSSL. Node.js repeats its standing rule: end-of-life versions are always affected. If you are still on Node 20 or older, there is no patch for you.
Why the Node.js Brotli fix matters for your business
Decompression is everywhere. Any service that accepts compressed uploads, proxies third-party responses, or unpacks webhook payloads may touch node:zlib. You probably did not write that code. A dependency did.
Node hides in places you forget. The main app gets upgraded. The cron worker on an old VPS, the Docker image pinned to node:22.11, the Lambda runtime nobody touched since launch, and the build server do not. Run node -v everywhere, not just in prod.
AI is shortening the clock. This bug came from an AI security agent, the same week AI-found PHP bugs saw attacks within days. Assume the patch diff gets read fast, by both sides.
Key takeaways
- CVE-2026-111497 is a High-severity Brotli decoder bug in
node:zlibthat can lead to remote code execution - Fixed in Node.js 22.23.4, 24.22.1 and 26.12.1, released October 21
- Three more High fixes cover DNS name truncation and TLS hostname checks
- End-of-life lines such as Node 20 get no fix, so plan the upgrade
- Check every runtime: containers, serverless functions, CI runners and side servers
Not sure how many Node versions you run? We inventory your apps, containers and functions, pin them to supported runtimes, and set up updates that land on schedule. Ask us to audit your Node.js exposure, or see how we maintain production systems.
- #security
- #nodejs
- #patching
- #javascript
- #devops
Tommy Rush — Founder, Rush Commerce
Operator turned builder. 15+ years running operations — now shipping the systems businesses run on. More
Get The Rush Report weekly — one email, zero fluff.
Keep reading
Plex2Shell: update Plex Media Server, then check for miners
Plex2Shell chains four Plex Media Server flaws into remote code execution. CISA lists it as exploited. Update to 1.43.3.10861 and check the box for implants.
Read itKimi K3.1 Pro: open weights Nov 4, read the whole table
Moonshot's Kimi K3.1 Pro beats GPT-6 Astra on Terminal-Bench but trails Claude Opus 5.5. Open weights land by Nov 4. What to test before you switch.
Read it