|
1 | 1 | --- |
2 | | -date: 2025-05-08T03:00:00.000Z |
| 2 | +date: 2025-05-14T03:00:00.000Z |
3 | 3 | category: vulnerability |
4 | 4 | title: Wednesday, May 14, 2025 Security Releases |
5 | 5 | slug: may-2025-security-releases |
6 | 6 | layout: blog-post |
7 | 7 | author: The Node.js Project |
8 | 8 | --- |
9 | 9 |
|
| 10 | +## Security releases available |
| 11 | + |
| 12 | +Updates are now available for the 24.x, 23.x, 22.x, 20.x Node.js release lines for the |
| 13 | +following issues. |
| 14 | + |
| 15 | +## Improper error handling in async cryptographic operations crashes process (CVE-2025-23166) - (high) |
| 16 | + |
| 17 | +The C++ method `SignTraits::DeriveBits()` may incorrectly call `ThrowException()` |
| 18 | +based on user-supplied inputs when executing in a background thread, crashing the Node.js process. |
| 19 | +Such cryptographic operations are commonly applied to untrusted inputs. Thus, this mechanism |
| 20 | +potentially allows an adversary to remotely crash a Node.js runtime. |
| 21 | + |
| 22 | +Impact: |
| 23 | + |
| 24 | +- This vulnerability affects all users in active release lines: 20.x, 22.x, 23.x, 24.x |
| 25 | + |
| 26 | +Thank you, @panva and @tniessen, for reporting and fixing this vulnerability. |
| 27 | + |
| 28 | +## Improper HTTP header block termination in llhttp (CVE-2025-23167) - (medium) |
| 29 | + |
| 30 | +A flaw in Node.js 20's HTTP parser allows improper termination of HTTP/1 headers using `\r\n\rX` instead of the required `\r\n\r\n`. |
| 31 | +This inconsistency enables request smuggling, allowing attackers to bypass proxy-based access controls and submit unauthorized requests. |
| 32 | + |
| 33 | +The issue was resolved by upgrading `llhttp` to version 9, which enforces correct header termination. |
| 34 | + |
| 35 | +Impact: |
| 36 | + |
| 37 | +- This vulnerability affects only Node.js 20.x users prior to the `llhttp` v9 upgrade. |
| 38 | + |
| 39 | +Thank you, to kenballus for reporting this vulnerability and thank you RafaelGSS for fixing it. |
| 40 | + |
| 41 | +## Corrupted pointer in `node::fs::ReadFileUtf8(const FunctionCallbackInfo<Value>& args)` when `args[0]` is a string. (CVE-2025-23165) - (low) |
| 42 | + |
| 43 | +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. |
| 44 | + |
| 45 | +Impact: |
| 46 | + |
| 47 | +- This vulnerability affects APIs relying on `ReadFileUtf8` on Node.js release lines: v20 and v22. |
| 48 | + |
| 49 | +Thank you, to Justin Nietzel for reporting and fixing this vulnerability. |
| 50 | + |
| 51 | +## Downloads and release details |
| 52 | + |
| 53 | +- [Node.js v20.19.2](/blog/release/v20.19.2/) |
| 54 | +- [Node.js v22.15.1](/blog/release/v22.15.1/) |
| 55 | +- [Node.js v23.11.1](/blog/release/v23.11.1/) |
| 56 | +- [Node.js v24.0.1](/blog/release/v24.0.1/) |
| 57 | + |
10 | 58 | # Summary |
11 | 59 |
|
12 | 60 | The Node.js project will release new versions of the 24.x, 23.x, 22.x, 20.x |
|
0 commit comments