All posts
Security

Node.js October 2026 Security Release: The Brotli RCE and the TLS Bypasses, on AWS

By

October 24, 2026

8 min read

Ten fixes across Node.js 22, 24 and 26, including a Brotli decompression bug that can lead to remote code execution and two ways to slip past TLS hostname checks. Who is actually exposed, the versions to move to, and what that means for Lambda, ECS, EKS and Beanstalk.

Node.js
CVE-2026-111497
Lambda
Patch Management

What was fixed

On October 21, 2026, the same day as PHP2Shell, the Node.js project shipped security releases for the 22.x, 24.x and 26.x lines, fixing ten vulnerabilities. Four are rated high.

CVE

Severity

What it is

Lines

CVE-2026-111497

High

Brotli decoder out-of-bounds write — malformed compressed input can corrupt memory, up to remote code execution

22, 24, 26

CVE-2026-106069

High

TLS hostname check bypass with non-canonical IPv4 literals (leading zeros)

22, 24, 26

CVE-2026-105483

High

TLS hostname check bypass with full-width digits in IP addresses

24, 26

CVE-2026-105482

High

dns.resolve truncates hostnames containing NUL bytes

22, 24, 26

CVE-2026-105481

Medium

Keep-alive socket accepts a response sent before the request (incomplete earlier fix)

22, 24, 26

CVE-2026-106072

Medium

TLS accepts DNS SANs for non-canonical IPv4 endpoints

22, 24, 26

CVE-2026-106074

Medium

crypto.randomUUID() and randomInt() entropy caches persisted into snapshots and SEAs

22, 24, 26

CVE-2026-106073

Low

Permission Model: fs.realpathSync() skips read checks

22, 24, 26

CVE-2026-106071

Low

Permission Model: wildcard grants over-grant

26

CVE-2026-106070

Low

ZipFile returns attacker-controlled bytes after a header validation failure

26

From the Node.js security release notes, October 21, 2026.

The fixed versions are 26.12.1, 24.22.1 and 22.23.4. Node.js 20 and older are end of life: they are affected and receive no fix.

Who is actually exposed to the Brotli bug

CVE-2026-111497 needs your process to decompress Brotli data that an attacker controls. That is more common than it sounds:

  • APIs or middleware that accept request bodies with Content-Encoding: br and inflate them.

  • Services that fetch URLs a user supplied — webhooks, link previews, importers, scrapers — and let the HTTP client decode a Brotli response.

  • Anything that calls zlib's Brotli decompression on uploaded files or messages from a queue other parties can write to.

If none of those apply, your risk from this one is lower — but the TLS hostname bypasses affect any service making outbound TLS connections to addresses influenced by input, and the upgrade fixes all ten at once. Don't triage; upgrade.

Want a second opinion on this for your system?

Book a free 30-minute call. You'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.

What it means on AWS

Lambda

Functions on the managed nodejs22.x, nodejs24.x and nodejs26.x runtimes with runtime management left on Auto are moved to patched runtime versions by AWS as they roll out — check the runtime version in your function's logs or in the console rather than assuming. Functions you pinned with Manual runtime management, functions packaged as container images, and anything still on nodejs20.x are your responsibility: update the pin, rebuild the image, or migrate off Node.js 20, which gets no fix at all.

ECS, EKS and other containers

Rebuild on a patched base — node:22.23.4, node:24.22.1 or node:26.12.1, or your distro's equivalent — and roll the services. Images built FROM node:22 last month carry the old binary until they are rebuilt. ECR enhanced scanning and Amazon Inspector will list the images that still have a vulnerable Node.js.

Elastic Beanstalk, App Runner, EC2

Apply the Node.js platform update in Beanstalk (or wait for managed updates if you can accept that window), redeploy App Runner services built from source so they pick up the patched runtime, and update Node on EC2 through your package manager or nvm — then restart the process.

Make the next one routine

  • Keep an inventory of every Node.js runtime you run, by version. If finding them took more than an hour this week, that is the first thing to fix.

  • Rebuild container images on a schedule, not only when a CVE forces it — a weekly rebuild makes a release like this a non-event.

  • Get off Node.js 20. It will be affected by every future Node.js vulnerability and fixed for none of them.

  • Subscribe to the nodejs-sec mailing list: releases are pre-announced, so you can plan the upgrade before the details are public.

hoolco Monthly Review

Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.

As of October 24, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.