Vulnerability · Published May 19, 2025 · Assigned by hackerone
CVE-2025-23165
Low 3.7
In plain English
A low-severity memory leak in node from nodejs. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 47% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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 APIs relying on `ReadFileUtf8` on Node.js release lines: v20 and v22.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:8 | nodejs | 1:20.19.2-1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 |
| AlmaLinux:8 | nodejs-devel | 1:20.19.2-1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 |
| AlmaLinux:8 | nodejs-docs | 1:20.19.2-1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 |
| AlmaLinux:8 | nodejs-full-i18n | 1:20.19.2-1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 |
| AlmaLinux:8 | nodejs-nodemon | 3.0.1-1.module_el8.10.0+3982+85c136aa | ALSA-2025:8514 |
| AlmaLinux:8 | nodejs-packaging | 2021.06-4.module_el8.10.0+3987+dbda4426 | ALSA-2025:8514 |
| AlmaLinux:8 | nodejs-packaging-bundler | 2021.06-4.module_el8.10.0+3958+472a6467 | ALSA-2025:8514 |
| AlmaLinux:8 | npm | 1:10.8.2-1.20.19.2.1.module_el8.10.0+4007+01f7d99b | ALSA-2025:8514 |
| Alpine:v3.21 | nodejs | 22.15.1-r0 | ALPINE-CVE-2025-23165 |
| Debian:13 | nodejs | 20.19.2+dfsg-1 | DEBIAN-CVE-2025-23165 |
| Debian:14 | nodejs | 20.19.2+dfsg-1 | DEBIAN-CVE-2025-23165 |
| Rocky Linux:8 | nodejs | 1:20.19.2-1.module+el8.10.0+1988+437f3d23 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs | 1:22.16.0-1.module+el8.10.0+1989+e60144d9 | RLSA-2025:8506 |
| Rocky Linux:9 | nodejs | 1:20.19.2-1.module+el9.6.0+32143+ae966e5b | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs | 1:22.16.0-1.module+el9.6.0+32144+1d29a396 | RLSA-2025:8467 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1988+437f3d23 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1988+437f3d23 | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1989+e60144d9 | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.9.0+1760+903d54b9 | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1666+930e28e8 | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1667+4a788d89 | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1823+b5789597 | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1824+532140ee | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1924+614dc87f | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1935+d3cbe60f | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1989+e60144d9 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.9.0+1760+903d54b9 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1666+930e28e8 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1667+4a788d89 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1823+b5789597 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1824+532140ee | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1924+614dc87f | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-nodemon | 0:3.0.1-1.module+el8.10.0+1935+d3cbe60f | RLSA-2025:8514 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.6.0+32143+ae966e5b | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.6.0+32045+2e5d342d | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.6.0+32185+bd121a25 | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.6.0+32045+2e5d342d | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.6.0+32322+a8b1fd01 | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.5.0+31770+0da7192d | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.6.0+32185+bd121a25 | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.6.0+32144+1d29a396 | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.6.0+32143+ae966e5b | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.6.0+32144+1d29a396 | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.6.0+32322+a8b1fd01 | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs-nodemon | 0:3.0.1-1.module+el9.5.0+31770+0da7192d | RLSA-2025:8468 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.9.0+1419+1f26ef47 | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1824+532140ee | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1823+b5789597 | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1924+614dc87f | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1988+437f3d23 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1989+e60144d9 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.9.0+1419+1f26ef47 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1667+4a788d89 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1823+b5789597 | RLSA-2025:8514 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1667+4a788d89 | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1824+532140ee | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1924+614dc87f | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1988+437f3d23 | RLSA-2025:8506 |
| Rocky Linux:8 | nodejs-packaging | 0:2021.06-4.module+el8.10.0+1989+e60144d9 | RLSA-2025:8506 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32144+1d29a396 | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32185+bd121a25 | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32322+a8b1fd01 | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32045+2e5d342d | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32143+ae966e5b | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32048+5323bb50 | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32185+bd121a25 | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32144+1d29a396 | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.5.0+31770+0da7192d | RLSA-2025:8467 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32322+a8b1fd01 | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.5.0+31770+0da7192d | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32045+2e5d342d | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32048+5323bb50 | RLSA-2025:8468 |
| Rocky Linux:9 | nodejs-packaging | 0:2021.06-4.module+el9.6.0+32143+ae966e5b | RLSA-2025:8468 |
| Rocky Linux:10 | nodejs22 | 1:22.16.0-1.el10_0 | RLSA-2025:8493 |
Affected products (as reported)
Weakness: CWE-401 · Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L