---
id: "VND-nodejs-may-2025-security-releases"
kind: "vulnerability"
aliases: []
title: "Node.js: Wednesday, May 14, 2025 Security Releases"
severity: "high"
cvss: null
epss: null
exploited: false
status: "open"
category: "runtime"
products: [{"name": "node", "fixed": ["20.19.2"], "affected": ">= 20.0.0, < 20.19.2", "ecosystem": "node"}, {"name": "node", "fixed": ["22.15.1"], "affected": ">= 22.0.0, < 22.15.1", "ecosystem": "node"}, {"name": "node", "fixed": ["23.11.1"], "affected": ">= 23.0.0, < 23.11.1", "ecosystem": "node"}, {"name": "node", "fixed": ["24.0.2"], "affected": ">= 24.0.0, < 24.0.2", "ecosystem": "node"}]
ecosystems: ["node"]
tags: ["node", "node.js", "runtime", "self-hosted", "windows"]
not_affected_if: ["already-on-fixed-version"]
published_at: "2025-05-14T03:00:00+00:00"
first_seen_at: "2026-10-23T19:13:00+00:00"
updated_at: "2026-10-25T05:39:26+00:00"
sources: [{"source": "nodejs", "url": "https://nodejs.org/en/blog/vulnerability/may-2025-security-releases", "first_seen_at": "2026-10-23T19:13:00+00:00"}]
---

# Node.js: Wednesday, May 14, 2025 Security Releases

A flaw in SignTraits::DeriveBits() can throw an exception from a background thread based on user-supplied input, crashing the Node.js process (CVE-2025-23166, high). The May 2025 releases also fix an llhttp header-termination bug enabling request smuggling on Node.js 20 and a Windows memory leak in ReadFileUtf8 (CVE-2025-23167 medium, CVE-2025-23165 low).

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- node:node affected >= 20.0.0, < 20.19.2 fixed 20.19.2
- node:node affected >= 22.0.0, < 22.15.1 fixed 22.15.1
- node:node affected >= 23.0.0, < 23.11.1 fixed 23.11.1
- node:node affected >= 24.0.0, < 24.0.2 fixed 24.0.2

## How to check

- Run `node --version` and compare against the fixed lines: `20.19.2`, `22.15.1`, `23.11.1`, `24.0.2`.
- Check whether the app uses async crypto operations such as `crypto.subtle` or `crypto` functions on untrusted input.
- For the llhttp issue, check whether the Node.js 20 HTTP server sits behind a proxy that enforces access controls.

## Fix

- Upgrade Node.js to `20.19.2` on the 20.x line, `22.15.1` on 22.x, `23.11.1` on 23.x, or `24.0.2` on 24.x.
- End-of-Life versions are always affected and receive no fix; move them to a supported release line.

## Timeline

- 2026-10-23T19:13:00+00:00 nodejs https://nodejs.org/en/blog/vulnerability/may-2025-security-releases

## From the sources

Commercial support for versions past the Maintenance LTS phase is available through our OpenJS Ecosystem Sustainability Program partners Wednesday, May 14, 2025 Security Releases TNJP The Node.js Project Wednesday, May 14, 2025 Security Releases Security releases available
Updates are now available for the 24.x, 23.x, 22.x, 20.x Node.js release lines for the
following issues.
Improper error handling in async cryptographic operations crashes process (CVE-2025-23166) - (high)
The C++ method SignTraits::DeriveBits() may incorrectly call ThrowException()
based on user-supplied inputs when executing in a background thread, crashing the Node.js process.
Such cryptographic operations are commonly applied to untrusted inputs. Thus, this mechanism
potentially allows an adversary to remotely crash a Node.js runtime.
Impact:
This vulnerability affects all users in active release lines: 20.x, 22.x, 23.x, 24.x
Thank you, @panva and @tniessen, for reporting and fixing this vulnerability.
Improper HTTP header block termination in llhttp (CVE-2025-23167) - (medium)
A flaw in Node.js 20&#x27;s HTTP parser allows improper termination of HTTP/1 headers using \r\n\rX instead of the required \r\n\r\n .
This inconsistency enables request smuggling, allowing attackers to bypass proxy-based access controls and submit unauthorized requests.
The issue was resolved by upgrading llhttp to version 9, which enforces correct header termination.
Impact:
This vulnerability affects only Node.js 20.x users prior to the llhttp v9 upgrade.
Thank you, to kenballus for reporting this vulnerability and thank you RafaelGSS for fixing it.
Corrupted pointer in node::fs::ReadFileUtf8(const FunctionCallbackInfo&lt;Value&gt;&amp; args) when args[0] is a string. (CVE-2025-23165) - (low)
In Node.js, the ReadFileUtf8 internal binding leaks memory due to a corrupted pointer in uv_fs_s.file : a UTF-16 path buffer is allocated but subsequently overwritten when the file descriptor is set. This results in an unrecoverable memory leak on every call. Repeated use can cause unbounded memory growth, leading to a denial of service.
Impact:
This vulnerability affects Windows systems relying on the ReadFileUtf8 API on Node.js release lines: v20 and v22.
Thank you, to Justin Nietzel for reporting and fixing this vulnerability.
Downloads and release details
Node.js v20.19.2
Node.js v22.15.1
Node.js v23.11.1
Node.js v24.0.2
Summary
The Node.js project will release new versions of the 24.x, 23.x, 22.x, 20.x
releases lines on or shortly after, Wednesday, May 14, 2025 in order to address:
1 high severity issues.
1 medium severity issues.
1 low severity issues.
Impact
The 24.x release line of Node.js is vulnerable to 1 high severity issues.
The 23.x release line of Node.js is vulnerable to 1 high severity issues.
The 22.x release line of Node.js is vulnerable to 1 low severity issues, 1 high severity issues.
The 20.x release line of Node.js is vulnerable to 1 low severity issues, 1 high severity issues, 1 medium severity issues.
It&#x27;s important to note that End-of-Life versions are always affected when a security release occurs.
To ensure your system&#x27;s security, please use an up-to-date version as outlined in our
Release Schedule .
Release timing
Releases will be available on, or shortly after, Wednesday, May 14, 2025.
Contact and future updates
The current Node.js security policy can be found at https://nodejs.org/en/security/ .
Please follow the process outlined in https://github.com/nodejs/node/blob/master/SECURITY.md if you wish to report a vulnerability in Node.js.
Subscribe to the low-volume announcement-only nodejs-sec mailing list at https://groups.google.com/forum/#!forum/nodejs-sec to stay up to date on security vulnerabilities and security-related releases of Node.js and the projects maintained in the nodejs GitHub organization. Previous Tuesday, July 15, 2025 Security Releases Next Node.js Test CI Security Incident

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
