Node.js Security Releases: Patched Versions by Release Line

Updated November 7, 2026 · Sources checked November 8, 2026 · 4 official sources

Latest Node.js security releases: 26.12.1 for Node.js 26, 24.22.1 for Node.js 24 and 22.23.4 for Node.js 22. The latest LTS release is Node.js 26.13.0 (Lithium). This page lists each supported release line with its support phase, end-of-life date, latest release and latest security release, then the security releases of the past 12 months with their CVEs, severity, fixed versions and official advisories. It covers the Node.js runtime, not your npm dependencies.

Every Node.js version with its release date: Node.js versions and release dates. All our Node.js trackers and analysis: Node.js hub.

Node.js Versions and Security Releases by Release Line

Supported Node.js release lines, sources checked November 8, 2026
Release lineSupport phaseEnd of lifeLatest releaseLatest security release
Node.js 26 (Lithium)Active LTSApril 30, 202926.13.0 · October 28, 202626.12.1 · October 21, 2026
Node.js 24 (Krypton)Maintenance LTSApril 30, 202824.22.2 · October 27, 202624.22.1 · October 20, 2026
Node.js 22 (Jod)Maintenance LTSApril 30, 202722.23.4 · October 20, 202622.23.4 · October 20, 2026

These lines reached end of life in the past 12 months and get no more fixes, including security fixes:

Node.js release lines that reached end of life in the past 12 months
Release lineEnd of lifeLast releaseLast security release
Node.js 25June 1, 202625.9.0 · March 31, 202625.8.2 · March 24, 2026
Node.js 20 (Iron)April 30, 202620.20.2 · March 24, 202620.20.2 · March 24, 2026

Node.js Security Releases in the Last 12 Months

Newest first. Each release lists the CVEs that the Node.js Security Working Group records for it; those records can follow a release by days or weeks, so a new release may show its versions before its CVEs.

October 21, 2026: Node.js 26.12.1, 24.22.1 and 22.23.4

Fixed versions: 26.12.1 (Node.js 26), 24.22.1 (Node.js 24), 22.23.4 (Node.js 22). Official advisory: Wednesday, October 21, 2026 Security Releases. Our analysis: Node.js 26.12.1, 24.22.1 and 22.23.4: Security Fixes for TLS, DNS and Brotli.

CVEs fixed in the Node.js security release of October 21, 2026
CVESeverityIssueFixed in
CVE-2026-105482Highdns.resolve truncates names containing NUL char26.12.1, 24.22.1, 22.23.4
CVE-2026-105483HighTLS certificate hostname bypass when the IP is written fullwidth digits26.12.1, 24.22.1
CVE-2026-106069HighTLS certificate hostname bypass when the host loosely resolves to an IP address26.12.1, 24.22.1, 22.23.4
CVE-2026-111497HighNode.js Brotli decoder out-of-bounds write permits remote code execution26.12.1, 24.22.1, 22.23.4
CVE-2026-105481MediumKeep-alive socket process a response that was written before the request was sent26.12.1, 24.22.1, 22.23.4
CVE-2026-106072MediumImproper certificate validation for non-canonical IPv4 hostnames allows DNS SANs to authenticate IP endpoints26.12.1, 24.22.1, 22.23.4
CVE-2026-106074Mediumcrypto.randomUUID() and randomInt() entropy caches are saved into user-land startup snapshots and SEAs, so every process repeats the same values26.12.1, 24.22.1, 22.23.4
CVE-2026-106070LowNode.js ZipFile returns attacker-controlled prefix bytes after failed ZIP header validation26.12.1
CVE-2026-106071LowPermission Model filesystem over-grant via wildcard radix lookup26.12.1
CVE-2026-106073LowPermission Model bypass with fs.realpathSync26.12.1, 24.22.1, 22.23.4

July 29, 2026: Node.js 26.5.1, 24.18.1 and 22.23.2

Fixed versions: 26.5.1 (Node.js 26), 24.18.1 (Node.js 24), 22.23.2 (Node.js 22). Official advisory: Wednesday, July 29, 2026 Security Releases.

CVEs fixed in the Node.js security release of July 29, 2026
CVESeverityIssueFixed in
CVE-2026-56846HighHTTP/2 retained header blocks evade maxSessionMemory and enable remote memory exhaustion24.18.1, 22.23.2
CVE-2026-56848HighRe-entrant nghttp2_session_mem_send() during nghttp2_session_mem_recv() causes heap-use-after-free in Node.js HTTP/226.5.1, 24.18.1, 22.23.2
CVE-2026-58043HighPermission Model: --allow-fs-read/--allow-fs-write radix-tree prefix-boundary over-grant26.5.1, 24.18.1, 22.23.2
CVE-2026-56850MediumHTTPS Agent PFX object-array key collision allows mTLS client identity reuse across different per-request certificates26.5.1, 24.18.1, 22.23.2
CVE-2026-58040MediumHTTPS Agent TLS session reuse skips hostname verification across identity policies (incomplete fix of CVE-2026-48934)26.5.1, 24.18.1, 22.23.2
CVE-2026-58041Mediumnode:sqlite SQLTagStore Iterator Replay Lets Attacker Re-Execute Victim-Bound Writes Indefinitely26.5.1, 24.18.1
CVE-2026-58042Mediumdns.resolveAny() Aborts the Node.js Process When a DNS Response Contains More Than 256 A Records26.5.1, 24.18.1, 22.23.2
CVE-2026-58045MediumReachable assertion in node:zlib sync API crashes the entire process via spoofed TypedArray byteLength (all 11 *Sync functions affected)26.5.1, 24.18.1, 22.23.2
CVE-2026-56847LowPermission Model Bypass: trace_events.createTracing().enable() Writes Trace Logs Outside --allow-fs-write26.5.1, 24.18.1, 22.23.2
CVE-2026-58039LowPermission Model bypass: process.report writes (and overwrites) files outside --allow-fs-write paths26.5.1, 24.18.1, 22.23.2
CVE-2026-58044LowHTTP Request Smuggling via Silent Header Truncation in Node.js HTTP Parser26.5.1, 24.18.1, 22.23.2

June 18, 2026: Node.js 26.3.1, 24.17.0 and 22.23.0

Fixed versions: 26.3.1 (Node.js 26), 24.17.0 (Node.js 24), 22.23.0 (Node.js 22). Official advisory: Thursday, June 18, 2026 Security Releases.

CVEs fixed in the Node.js security release of June 18, 2026
CVESeverityIssueFixed in
CVE-2026-48618HighNode.js unicode dot separator handling can lead to tls wildcard-depth authentication bypass due to resolver and verifier hostname normalization mismat26.3.1, 24.17.0, 22.23.0
CVE-2026-48933HighNode.js WebCrypto AES Integer Overflow Leads to Remote Process Abort (DoS)26.3.1, 24.17.0, 22.23.0
CVE-2026-48615MediumProxy credentials leaked in ERR_PROXY_TUNNEL error message26.3.1, 24.17.0, 22.23.0
CVE-2026-48619MediumUnbounded memory growth in node:http2 clients via attacker-controlled ORIGIN frames26.3.1, 24.17.0, 22.23.0
CVE-2026-48928MediumUppercase sni context matching can lead to mtls authorization bypass due to case-sensitive hostname matching26.3.1, 24.17.0, 22.23.0
CVE-2026-48930MediumEmbedded-nul hostnames can lead to silent authority rebinding due to c-string truncation in resolver bindings26.3.1, 24.17.0, 22.23.0
CVE-2026-48934MediumTLS host identity verification bypass via session reuse with different servername leads to unauthorized connections26.3.1, 24.17.0, 22.23.0
CVE-2026-48937MediumHTTP/2 sessions never clean up after GOAWAY on invalid protocol errors24.17.0, 22.23.0
CVE-2026-48617LowPermission Model Bypass via process.report.writeReport() Path Misvalidation26.3.1, 24.17.0, 22.23.0
CVE-2026-48931LowHTTP Response Queue Poisoning via TOCTOU Race Condition in http.Agent26.3.1, 24.17.0, 22.23.0
CVE-2026-48935LowPermission Model bypass via FileHandle.utimes() in the promises API26.3.1, 24.17.0, 22.23.0
CVE-2026-48936LowUnix domain socket server bypasses --permission network restrictions (incomplete CVE-2026-21636 fix) (AIX, Android, macOS, FreeBSD, Linux, OpenBSD, SunOS only)26.3.1

March 24, 2026: Node.js 25.8.2, 24.14.1, 22.22.2 and 20.20.2

Fixed versions: 25.8.2 (Node.js 25), 24.14.1 (Node.js 24), 22.22.2 (Node.js 22), 20.20.2 (Node.js 20). Official advisory: Tuesday, March 24, 2026 Security Releases.

CVEs fixed in the Node.js security release of March 24, 2026
CVESeverityIssueFixed in
CVE-2026-21637HighIncomplete fix for CVE-2026-21637: loadSNI() in _tls_wrap.js lacks try/catch leading to Remote DoS25.8.2, 24.14.1, 22.22.2, 20.20.2
CVE-2026-21710HighDenial of Service via __proto__ header name in req.headersDistinct (Uncaught TypeError crashes Node.js process)25.8.2, 24.14.1, 22.22.2, 20.20.2
CVE-2026-21711MediumNode.js Permission Model bypass: UDS server bind/listen works without --allow-net25.8.2
CVE-2026-21712MediumAssertion error in node_url.cc via malformed URL format leads to Node.js crash25.8.2, 24.14.1
CVE-2026-21713MediumTiming side-channel in HMAC verification via memcmp() in crypto_hmac.cc leads to potential MAC forgery25.8.2, 24.14.1, 22.22.2, 20.20.2
CVE-2026-21714MediumMemory leak in Node.js HTTP/2 server via WINDOW_UPDATE on stream 0 leads to resource exhaustion25.8.2, 24.14.1, 22.22.2, 20.20.2
CVE-2026-21717MediumHashDoS in V825.8.2, 24.14.1, 22.22.2, 20.20.2
CVE-2026-21715LowPermission Model Bypass in realpathSync.native Allows File Existence Disclosure25.8.2, 24.14.1, 22.22.2, 20.20.2
CVE-2026-21716LowCVE-2024-36137 Patch Bypass - FileHandle.chmod/chown25.8.2, 24.14.1, 22.22.2, 20.20.2

January 13, 2026: Node.js 25.3.0, 24.13.0, 22.22.0 and 20.20.0

Fixed versions: 25.3.0 (Node.js 25), 24.13.0 (Node.js 24), 22.22.0 (Node.js 22), 20.20.0 (Node.js 20). Official advisory: Tuesday, January 13, 2026 Security Releases.

CVEs fixed in the Node.js security release of January 13, 2026
CVESeverityIssueFixed in
CVE-2025-55130HighFS Permissions Bypass25.3.0, 24.13.0, 22.22.0, 20.20.0
CVE-2025-55131HighTimeout-based race conditions make Uint8Array/Buffer.alloc non-zerofilled25.3.0, 24.13.0, 22.22.0, 20.20.0
CVE-2025-59465HighNode.js HTTP/2 server crashes with unhandled error when receiving malformed HEADERS frame25.3.0, 24.13.0, 22.22.0, 20.20.0
CVE-2025-59464MediumMemory leak that enables remote Denial of Service against applications processing TLS client certificates24.13.0, 22.22.0, 20.20.0
CVE-2025-59466MediumUncatchable "Maximum call stack size exceeded" error on Node.js via async_hooks leads to process crashes bypassing error handlers25.3.0, 24.13.0, 22.22.0, 20.20.0
CVE-2026-21636MediumNode.js permission model bypass via unchecked Unix Domain Socket connections (UDS)25.3.0
CVE-2025-55132Lowfs.futimes() Bypasses Read-Only Permission Model25.3.0, 24.13.0, 22.22.0, 20.20.0

Check Your Node.js Version Against Published Fixes

  1. Run node --version where your application runs.
  2. Find its release line in the table above: the first number of the version.
  3. If your version is lower than the latest security release of its line, upgrade at least to that release. Later releases of the same line carry the same fixes.
  4. If the line has reached end of life, move to a supported line: it gets no more fixes.

To check a version against every known Node.js vulnerability, not only the past year, the Node.js project publishes is-my-node-vulnerable: runnpx is-my-node-vulnerable. A check of the runtime does not audit your application or its npm dependencies.

Node.js Support Phases and End-of-Life Dates

Current
From the first release of a line until its LTS date, when the schedule gives one.
Active LTS
From the LTS date until maintenance starts.
Maintenance LTS
Critical bug fixes and security fixes until end of life.
End of life
No more releases, including security fixes.

Dates come from the official release schedule; the Node.js Release Working Group can change future dates.

Node.js Security Release Questions

What is the latest Node.js LTS version?

Node.js 26.13.0, released October 28, 2026, on the 26.x line (Active LTS). The other supported LTS lines are Node.js 24 (24.22.2) and Node.js 22 (22.23.4).

When does Node.js 26 reach end of life?

On April 30, 2029, by the official release schedule. It is in Active LTS now.

When does Node.js 24 reach end of life?

On April 30, 2028, by the official release schedule. It is in Maintenance LTS now.

When does Node.js 22 reach end of life?

On April 30, 2027, by the official release schedule. It is in Maintenance LTS now.

Is the latest Node.js release always a security release?

No. Node.js 26.13.0 came after the security release 26.12.1 and Node.js 24.22.2 came after the security release 24.22.1; a later release of a line carries the fixes of the earlier ones. The table shows both columns for this reason.

Does an end-of-life Node.js line still get security fixes?

No. Node.js 25 reached end of life on June 1, 2026; its last release is 25.9.0. Node.js 20 reached end of life on April 30, 2026; its last release is 20.20.2.

Data Sources, Update Time and Coverage

Sources checked November 8, 2026; content last changed November 7, 2026. Code assembles this page from these sources without a language model; a run that fails a consistency check keeps the previous version. The fixed versions come from the security flag nodejs.org sets on each release, the CVE details from the Security Working Group records. The history covers the 12 months before the last check.

Spotted a mistake? Report a correctionor read the corrections policy.