Skip to content

Guide

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

Node.js 26.12.1, 24.22.1 and 22.23.4 fix ten vulnerabilities. On a Mac, Node can come from half a dozen places, and each one updates differently. Here's how to tell which you have and the exact commands for each.

By the iKnowMyMac team · Updated · 6 min read

The short answer

Run node -v. The Node.js security release of 21 October 2026 fixes 10 vulnerabilities, 4 of them rated high, in versions 26.12.1, 24.22.1 and 22.23.4. If your version is older on the 26, 24 or 22 line, update with the tool that installed Node: brew upgrade node for Homebrew, nvm install 24.22.1 for nvm, volta install node@24.22.1 for Volta, fnm install 24.22.1 for fnm, mise use -g node@24.22.1 for mise, or the installer from nodejs.org (use the version for your line). The same versions also update Node's built-in certificate list for the eMudhra incident.

On this page

What the release fixes

  • CVE-2026-105482

    What it is
    dns.resolve truncates names containing a NUL character.
    Lines affected
    26, 24, 22
  • CVE-2026-105483

    What it is
    TLS certificate hostname check bypassed when the IP address is written with fullwidth digits.
    Lines affected
    26, 24
  • CVE-2026-106069

    What it is
    TLS certificate hostname check bypassed when the host loosely resolves to an IP address.
    Lines affected
    26, 24, 22
  • CVE-2026-111497

    What it is
    Out-of-bounds write in the Brotli decoder that permits remote code execution.
    Lines affected
    26, 24, 22
The four high-severity vulnerabilities

The other six are rated medium or low. The fixed versions are 26.12.1, 24.22.1 and 22.23.4. They also update Node's built-in certificate list for the eMudhra certificate incident. nodejs.org notes that end-of-life versions are affected by security releases too and should be upgraded.

Check your version, and where Node came from

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 (on an Intel Mac, it can also be Homebrew)
Where each Node comes from

The first line of which -a node is the one Terminal runs. The others still run when a project or tool picks them, so update each one you use.

Update Node with the tool that installed it

The examples use 24.22.1. For the 26 line use 26.12.1, and for the 22 line use 22.23.4.

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.1 --reinstall-packages-from=current
nvm alias default 24.22.1

--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.1

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

fnm

Terminal
fnm install 24.22.1
fnm default 24.22.1

mise or asdf

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

# asdf older than 0.16
asdf global nodejs 24.22.1

The installer from nodejs.org

  1. Download the macOS Installer (.pkg) for 26.12.1, 24.22.1 or 22.23.4 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. Dev servers, watchers and anything started before the update keep the old version until they restart.
  • 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. nvm ls, fnm list, volta list node, mise ls node and brew list --versions | grep -E "^node" list what's installed.

Package Watch in iKnowMyMac

Package Watch in iKnowMyMac checks the Python packages in every environment on your Mac, including certifi, against published advisories.

FAQ

Questions

Something else? support@iknowmymac.com

Which Node.js versions fix the October 2026 vulnerabilities?

26.12.1, 24.22.1 and 22.23.4, released on 21 October 2026.

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

This release only has fixes for those three lines. nodejs.org says end-of-life versions are affected by security releases and should be upgraded, so move to 24.22.1 or another fixed version.

Does updating Node also cover the eMudhra certificates?

Yes. 26.12.1, 24.22.1 and 22.23.4 include the certificate list update for the eMudhra incident.

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 32.6 MB native app, notarized by Apple. No account, no analytics, no telemetry.

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