Skip to content

Guide

Node.js November 2026 security release: check and update Node on a Mac

Node.js 26.13.1, 24.22.3 and 22.23.5 fix sixteen vulnerabilities, most of them in HTTP/2 and TLS servers. Here's how to find every copy of Node on your Mac, the version each one needs, and the exact commands to update it.

By · Updated · 6 min read

The short answer

Run node -v. The Node.js security release of 11 November 2026 fixes 16 vulnerabilities, 7 rated high, in 26.13.1, 24.22.3 and 22.23.5. If yours is older on the 26, 24 or 22 line, update it with the tool that installed it, such as brew upgrade node or nvm install 24.22.3, then restart running Node servers.

On this page

What the release fixes

  • CVE-2026-123863

    What it is
    HTTP/2: a remote peer can abort the process when a session is torn down.
  • CVE-2026-123864

    What it is
    HTTPS: a zero-length TLS write can make the server copy its own memory into a request body.
  • CVE-2026-123865

    What it is
    HTTP/2 sessions are never cleaned up if a protocol error happens while the connection shuts down.
  • CVE-2026-123866

    What it is
    HTTP/2 stream teardown can send freed response memory to the peer.
  • CVE-2026-126051

    What it is
    TLS servers can be made to throw an uncaught exception remotely through deferred handshake callbacks.
  • CVE-2026-123872

    What it is
    TLS 1.2 renegotiation lets a client change the server name and get past client certificate authentication.
  • CVE-2026-123874

    What it is
    HTTP/2: use-after-free when a respondWithFile() stream is reset during a pending write.
The seven high-severity vulnerabilities

The other nine are rated medium or low. They include a heap buffer overflow in session.altsvc(), proxy credentials shown in ERR_PROXY_INVALID_CONFIG error messages, certificate checks skipped through TLS session reuse in https.Agent, and three Permission Model and zlib issues. The fixed versions are 26.13.1, 24.22.3 and 22.23.5. They come after the October release, so they include its fixes too.

Check your version, and where Node came from

  1. Open Terminal (Applications › Utilities › Terminal).
  2. Run node -v. Compare it with the fixed version for its line: 26.13.1, 24.22.3 or 22.23.5.
  3. Run which -a node to list every Node on your PATH. The first line is the one Terminal runs.
  4. Run nvm ls, fnm list, volta list node, mise ls node or brew list --versions | grep -E "^node" for the version managers you use. They keep other copies that which doesn't show.
The Node you get in Terminal, and every other one on your PATH
node -v
which -a node
  • /opt/homebrew/

    Installed by
    Homebrew
  • .nvm

    Installed by
    nvm
  • .volta

    Installed by
    Volta
  • fnm

    Installed by
    fnm
  • mise

    Installed by
    mise
  • .asdf

    Installed by
    asdf
  • /usr/local/bin/node

    Installed by
    Usually the installer from nodejs.org
Where each Node comes from

Update Node with the tool that installed it

The examples use 24.22.3. For the 26 line use 26.13.1, and for the 22 line use 22.23.5.

Homebrew

Terminal
brew update
brew upgrade node

For a versioned formula, name it: brew upgrade node@22. If node -v still shows the old version afterwards, Homebrew may not have published the new build yet. Run brew update and try again later.

nvm

Terminal
nvm install 24.22.3 --reinstall-packages-from=current
nvm alias default 24.22.3

--reinstall-packages-from=current copies your global npm packages from the version you're on. nvm alias default makes new Terminal windows use the new version.

Volta

Terminal
volta install node@24.22.3

For a project that pins Node in package.json, run volta pin node@24.22.3 in its folder.

fnm

Terminal
fnm install 24.22.3
fnm default 24.22.3

mise or asdf

mise
mise use -g node@24.22.3
asdf
asdf install nodejs 24.22.3
asdf set -u nodejs 24.22.3

# asdf older than 0.16
asdf global nodejs 24.22.3

The installer from nodejs.org

  1. Download the macOS Installer (.pkg) for 26.13.1, 24.22.3 or 22.23.5 from nodejs.org.
  2. Open the downloaded .pkg and follow the installer. It replaces the version in /usr/local/bin.
  3. Open a new Terminal window and run node -v to confirm the version.

After updating

  • Restart running Node processes. Servers, dev servers and watchers started before the update keep the old version until they restart. Most of these fixes are in HTTP/2 and TLS servers, so restart those first.
  • Update project pins. .nvmrc, .node-version, .tool-versions and the volta field in package.json choose a version per project, so change them to the fixed version.
  • Check every version you keep. Run step 4 of the check above again. An old copy that a project still picks runs with the old code.

Every Node copy in iKnowMyMac

FAQ

Questions

Something else? support@iknowmymac.com

Which Node.js versions fix the November 2026 vulnerabilities?

26.13.1, 24.22.3 and 22.23.5, from the Node.js security release of 11 November 2026.

I updated in October. Do I need to update again?

Yes. 26.12.1, 24.22.1 and 22.23.4 fixed the October issues but not these. Move to 26.13.1, 24.22.3 or 22.23.5, which include both.

My Node version isn't 26, 24 or 22. What should I do?

This release only has fixes for those three lines. Node 25, 23, 21 and 20 have reached end of life on the Node.js release schedule, so move to 24.22.3 or another fixed version.

Does this matter if Node only runs tools on my Mac?

The high-rated fixes are in HTTP/2 and TLS servers, so servers you run, including dev servers other machines can reach, matter most. Update every copy anyway: a project can pick an old one later.

Do I lose my global npm packages when I update?

With Homebrew and the nodejs.org installer, no. With nvm, fnm and other version managers, each Node version has its own global packages: nvm's --reinstall-packages-from=current copies them across.

Know why your Mac is slow.

macOS 15 Sequoia or later · Apple silicon. A 51.4 MB native app, notarized by Apple. No account, no analytics, no telemetry.

One-time purchase · every feature · 14-day refund