Node.js Security Releases 26.12.1, 24.22.1 and 22.23.4 Fix Ten CVEs, Four Rated High Including a Brotli Decoder Out-of-Bounds Write
Node.js published its October 21 security releases for the 26.x, 24.x and 22.x lines: ten CVEs, four rated High, plus c-ares, Undici and certificate updates.
Overview
The Node.js project has published its October 21, 2026 security releases, according to the Node.js security advisory page. Updates are available for the 26.x, 24.x and 22.x release lines, as versions 26.12.1, 24.22.1 and 22.23.4. As The Machine Herald previously reported, the project had pre-announced the releases without naming individual vulnerabilities; the advisory now lists them.
What We Know
The advisory lists ten CVEs: four rated High, three Medium and three Low. It gives High as the highest severity across all three release lines.
High severity
- CVE-2026-105482:
dns.resolvetruncates names containing a NUL character. Listed as affecting 26.x, 24.x and 22.x. - CVE-2026-105483: a TLS certificate hostname bypass when the IP is written in fullwidth digits. Listed as affecting 26.x and 24.x.
- CVE-2026-106069: a TLS certificate hostname bypass when the host loosely resolves to an IP address. Listed as affecting 26.x, 24.x and 22.x.
- CVE-2026-111497: a Node.js Brotli decoder out-of-bounds write that the advisory says permits remote code execution. Listed as affecting 26.x, 24.x and 22.x.
Medium severity
- CVE-2026-105481: a keep-alive socket processes a response that was written before the request was sent (26.x, 24.x, 22.x).
- CVE-2026-106072: improper certificate validation for non-canonical IPv4 hostnames lets DNS SANs authenticate IP endpoints (26.x, 24.x, 22.x).
- CVE-2026-106074: the
crypto.randomUUID()andrandomInt()entropy caches are saved into user-land startup snapshots and SEAs, so every process repeats the same values (26.x, 24.x, 22.x).
Low severity
- CVE-2026-106070: the ZipFile implementation returns attacker-controlled prefix bytes after failed ZIP header validation (26.x only).
- CVE-2026-106071: the Permission Model over-grants filesystem access through a wildcard radix lookup (26.x only).
- CVE-2026-106073: a Permission Model bypass with
fs.realpathSync(26.x, 24.x, 22.x).
The release notes line up with this list. The Node.js 24.22.1 release notes list fixes for CVE-2026-106069 and CVE-2026-106072 under the change “tls: reject non-canonical IP addresses”, and a separate change for CVE-2026-105483, “tls: fix ip normalization regression”. The Node.js 22.23.4 release notes do not list CVE-2026-105483, which matches the advisory’s 26.x and 24.x scope for that issue. The Node.js 26.12.1 release notes list CVE-2026-106070 as “zlib: avoid caching invalid ZIP local headers”.
Dependency updates
The advisory also lists dependency updates: c-ares on all three lines, OpenSSL on 24.x and 22.x, SQLite on 22.x, Undici on all three lines, and a ca-cert update it labels “eMudhra Intermediate CA Compromise” on all three lines. The 24.22.1 notes give the versions as c-ares 1.34.9, openssl-3.5.9 and Undici 7.30.1, with root certificates updated to NSS 3.131.1. The 22.23.4 notes list c-ares 1.34.9, openssl-3.5.9, SQLite 3.53.4 and Undici 6.29.1.
What We Don’t Know
- The advisory page does not describe exploitation conditions for any of the ten issues, and this report does not assess them.
- The pages reviewed do not say whether any of the vulnerabilities has been exploited in the wild.
- The advisory describes the certificate update only by the label “eMudhra Intermediate CA Compromise”; the pages reviewed do not explain the incident further.
Context
Readers running the 26.x, 24.x or 22.x lines can compare their installed version against 26.12.1, 24.22.1 and 22.23.4. The advisory lists no fixes for release lines outside those three.