Cloudanix VulnDB

CVE-2025-23085

Medium · 5.3

CVSS

5.3

EPSS

1.4%

Published

Feb 7, 2025

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in certain web server software can slowly use up memory when connections are closed in unexpected ways, which might eventually make the service unavailable until fixed.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

A memory leak occurs in the HTTP/2 server implementation when a remote peer closes the socket abruptly without sending a GOAWAY frame or when nghttp2 detects an invalid header that terminates the connection, causing gradual accumulation of unreleased memory.

Why it matters to the business

HTTP/2 servers may consume increasing amounts of memory over time, potentially leading to resource exhaustion, degraded performance, or service outages under sustained connection handling conditions; urgency is low given no KEV listing or active exploitation reports.

How an attack unfolds

An attacker repeatedly opens HTTP/2 connections to a vulnerable Node.js server and either closes them abruptly without a GOAWAY notification or supplies invalid headers that force connection termination by the peer, triggering the leak each time until memory pressure causes denial of service.

How to fix it

Upgrade Node.js v18.x, v20.x, v22.x and v23.x to the latest patched releases that address the nghttp2 memory leak. For Red Hat Enterprise Linux 8 baseos and crb repositories, update the listed pcre packages to the fixed version 0:8.42-6.el8.

How to confirm the fix worked

Confirm Node.js and nghttp2 versions are updated beyond the affected releases; monitor process memory usage under simulated abrupt connection closures to verify no leak occurs; check package managers show pcre and related packages at 0:8.42-6.el8 or newer on RHEL 8 systems.

Typical attack path

  1. Establish multiple HTTP/2 connections to the target server
  2. Abruptly close sockets without sending GOAWAY frames or inject invalid headers
  3. Repeat connection attempts at scale to amplify the leak
  4. Observe server memory growth leading to slowdown or crash

How to detect it

Review Node.js process memory metrics and logs for repeated abrupt HTTP/2 connection terminations or invalid header events; correlate with nghttp2 error messages indicating connection resets without GOAWAY.

What your security team should do

  • Prioritize patching Node.js HTTP/2 servers in internet-facing or high-traffic environments
  • Apply the exact fixed package versions 0:8.42-6.el8 for all listed pcre components on RHEL 8
  • Implement connection rate limiting and monitoring for memory consumption anomalies
  • Review downstream dependents and plan upgrades given ecosystem prevalence of Node.js

The record

A memory leak could occur when a remote peer abruptly closes the socket without sending a GOAWAY notification. Additionally, if an invalid header was detected by nghttp2, causing the connection to be terminated by the peer, the same leak was triggered. This flaw could lead to increased memory consumption and potential denial of service under certain conditions. This vulnerability affects HTTP/2 Server users on Node.js v18.x, v20.x, v22.x and v23.x.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 nodejs 0 1:20.18.2-1.module_el8.10.0+3958+472a6467
AlmaLinux:8 nodejs 0 1:18.20.6-1.module_el8.10.0+3960+fcfbf683
AlmaLinux:8 nodejs 0 1:22.13.1-1.module_el8.10.0+3961+6a788e57
AlmaLinux:8 nodejs-devel 0 1:20.18.2-1.module_el8.10.0+3958+472a6467
AlmaLinux:8 nodejs-devel 0 1:18.20.6-1.module_el8.10.0+3960+fcfbf683
AlmaLinux:8 nodejs-devel 0 1:22.13.1-1.module_el8.10.0+3961+6a788e57
AlmaLinux:8 nodejs-docs 0 1:20.18.2-1.module_el8.10.0+3958+472a6467
AlmaLinux:8 nodejs-docs 0 1:18.20.6-1.module_el8.10.0+3960+fcfbf683
AlmaLinux:8 nodejs-docs 0 1:22.13.1-1.module_el8.10.0+3961+6a788e57
AlmaLinux:8 nodejs-full-i18n 0 1:20.18.2-1.module_el8.10.0+3958+472a6467
AlmaLinux:8 nodejs-full-i18n 0 1:18.20.6-1.module_el8.10.0+3960+fcfbf683
AlmaLinux:8 nodejs-full-i18n 0 1:22.13.1-1.module_el8.10.0+3961+6a788e57
AlmaLinux:8 nodejs-libs 0 1:22.13.1-1.module_el8.10.0+3961+6a788e57
AlmaLinux:8 nodejs-nodemon 0 3.0.1-1.module_el8.8.0+3613+1ed8c91d
AlmaLinux:8 nodejs-packaging 0 2021.06-4.module_el8.7.0+3343+ea2b7901
AlmaLinux:8 nodejs-packaging 0 2021.06-4.module_el8.10.0+3961+6a788e57
AlmaLinux:8 nodejs-packaging-bundler 0 2021.06-4.module_el8.10.0+3958+472a6467
AlmaLinux:8 nodejs-packaging-bundler 0 2021.06-4.module_el8.10.0+3961+6a788e57
AlmaLinux:8 npm 0 1:10.8.2-1.20.18.2.1.module_el8.10.0+3958+472a6467
AlmaLinux:8 npm 0 1:10.8.2-1.18.20.6.1.module_el8.10.0+3960+fcfbf683
AlmaLinux:8 npm 0 1:10.9.2-1.22.13.1.1.module_el8.10.0+3961+6a788e57
AlmaLinux:8 v8-12.4-devel 0 3:12.4.254.21-1.22.13.1.1.module_el8.10.0+3961+6a788e57
AlmaLinux:9 nodejs 0 1:20.18.2-1.module_el9.5.0+137+381f3eaf
AlmaLinux:9 nodejs 0 1:18.20.6-1.module_el9.5.0+136+92f38f3c
AlmaLinux:9 nodejs 0 1:22.13.1-1.module_el9.5.0+139+09296491
AlmaLinux:9 nodejs-devel 0 1:20.18.2-1.module_el9.5.0+137+381f3eaf
AlmaLinux:9 nodejs-devel 0 1:18.20.6-1.module_el9.5.0+136+92f38f3c
AlmaLinux:9 nodejs-devel 0 1:22.13.1-1.module_el9.5.0+139+09296491
AlmaLinux:9 nodejs-docs 0 1:20.18.2-1.module_el9.5.0+137+381f3eaf
AlmaLinux:9 nodejs-docs 0 1:18.20.6-1.module_el9.5.0+136+92f38f3c
AlmaLinux:9 nodejs-docs 0 1:22.13.1-1.module_el9.5.0+139+09296491
AlmaLinux:9 nodejs-full-i18n 0 1:20.18.2-1.module_el9.5.0+137+381f3eaf
AlmaLinux:9 nodejs-full-i18n 0 1:18.20.6-1.module_el9.5.0+136+92f38f3c
AlmaLinux:9 nodejs-full-i18n 0 1:22.13.1-1.module_el9.5.0+139+09296491
AlmaLinux:9 nodejs-libs 0 1:22.13.1-1.module_el9.5.0+139+09296491
AlmaLinux:9 nodejs-nodemon 0 3.0.1-1.module_el9.2.0+36+853e48f5
AlmaLinux:9 nodejs-nodemon 0 3.0.1-1.module_el9.5.0+136+92f38f3c
AlmaLinux:9 nodejs-packaging 0 2021.06-4.module_el9.3.0+88+29afeaa2
AlmaLinux:9 nodejs-packaging 0 2021.06-4.module_el9.5.0+136+92f38f3c
AlmaLinux:9 nodejs-packaging-bundler 0 2021.06-4.module_el9.5.0+124+df88fe49
AlmaLinux:9 nodejs-packaging-bundler 0 2021.06-4.module_el9.5.0+139+09296491
AlmaLinux:9 npm 0 1:10.8.2-1.20.18.2.1.module_el9.5.0+137+381f3eaf
AlmaLinux:9 npm 0 1:10.8.2-1.18.20.6.1.module_el9.5.0+136+92f38f3c
AlmaLinux:9 npm 0 1:10.9.2-1.22.13.1.1.module_el9.5.0+139+09296491
AlmaLinux:9 v8-12.4-devel 0 3:12.4.254.21-1.22.13.1.1.module_el9.5.0+139+09296491
Alpine:v3.21 nodejs 0 22.13.1-r0
Alpine:v3.22 nodejs 0 22.13.1-r0
Bitnami node 0 18.20.6
Bitnami node-min 0 18.20.6
Chainguard nodejs-16 0 16.20.2-r16
Chainguard nodejs-16-doc 0 16.20.2-r15
Chainguard nodejs-18 0 18.20.6-r0
Chainguard nodejs-18-doc 0 18.20.6-r0
Chainguard nodejs-21 0 21.7.3-r12
Chainguard nodejs-21-doc 0 21.7.3-r12
Debian:11 nodejs 0 No fix
Debian:11 nodejs 0 12.22.12~dfsg-1~deb11u6
Debian:12 nodejs 0 No fix
Debian:13 nodejs 0 No fix
Mageia:9 nodejs 0 22.13.1-2.mga9
Rocky Linux:8 nodejs 0 1:20.18.2-1.module+el8.10.0+1932+2f13f218
Rocky Linux:8 nodejs 0 1:18.20.6-1.module+el8.10.0+1934+a521c41f
Rocky Linux:8 nodejs 0 1:22.13.1-1.module+el8.10.0+1935+d3cbe60f
Rocky Linux:8 nodejs-nodemon 0 0:3.0.1-1.module+el8.10.0+1666+930e28e8
Rocky Linux:8 nodejs-packaging 0 0:2021.06-4.module+el8.10.0+1667+4a788d89
Rocky Linux:9 nodejs-nodemon 0 0:3.0.1-1.module+el9.4.0+25495+f51dca35
Rocky Linux:9 nodejs-nodemon 0 0:3.0.1-1.module+el9.6.0+32144+1d29a396
Rocky Linux:9 nodejs-nodemon 0 0:3.0.1-1.module+el9.6.0+32322+a8b1fd01
Rocky Linux:9 nodejs-packaging 0 0:2021.06-4.module+el9.4.0+25495+f51dca35
Rocky Linux:9 nodejs-packaging 0 0:2021.06-4.module+el9.5.0+31770+0da7192d
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS nodejs18 0 18.20.6-150400.9.33.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS nodejs18 0 18.20.6-150400.9.33.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS nodejs18 0 18.20.6-150400.9.33.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS nodejs20 0 20.18.2-150500.11.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS nodejs18 0 18.20.6-150400.9.33.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS nodejs20 0 20.18.2-150500.11.18.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP6 nodejs20 0 20.18.2-150600.3.9.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP6 nodejs22 0 22.13.1-150600.13.6.1
SUSE:Linux Enterprise Server 12 SP5-LTSS nodejs18 0 18.20.6-8.33.1
SUSE:Linux Enterprise Server 15 SP4-LTSS nodejs18 0 18.20.6-150400.9.33.1
SUSE:Linux Enterprise Server 15 SP5-LTSS nodejs18 0 18.20.6-150400.9.33.1
SUSE:Linux Enterprise Server 15 SP5-LTSS nodejs20 0 20.18.2-150500.11.18.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 nodejs18 0 18.20.6-8.33.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 nodejs18 0 18.20.6-150400.9.33.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 nodejs18 0 18.20.6-150400.9.33.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 nodejs20 0 20.18.2-150500.11.18.1
SUSE:Manager Server 4.3 nodejs18 0 18.20.6-150400.9.33.1
Ubuntu:20.04:LTS nodejs 0 No fix
Ubuntu:22.04:LTS nodejs 0 No fix
Ubuntu:24.04:LTS nodejs 0 No fix
Ubuntu:24.10 nodejs 0 No fix
Ubuntu:25.04 nodejs 0 No fix
Ubuntu:Pro:14.04:LTS nodejs 0 No fix
Ubuntu:Pro:16.04:LTS nodejs 0 No fix
Ubuntu:Pro:18.04:LTS nodejs 0 No fix
Ubuntu:Pro:20.04:LTS nodejs 0 No fix
Ubuntu:Pro:22.04:LTS nodejs 0 No fix
Wolfi nodejs-16 0 16.20.2-r16
Wolfi nodejs-16-doc 0 16.20.2-r15
Wolfi nodejs-18 0 18.20.6-r0
Wolfi nodejs-18-doc 0 18.20.6-r0
Wolfi nodejs-21 0 21.7.3-r12
Wolfi nodejs-21-doc 0 21.7.3-r12
openSUSE:Leap 15.6 nodejs20 0 20.18.2-150600.3.9.1
openSUSE:Leap 15.6 nodejs22 0 22.13.1-150600.13.6.1
openSUSE:Tumbleweed nodejs22 0 22.13.0-1.1
openSUSE:Tumbleweed nodejs24 0 24.11.1-2.1
openSUSE:Tumbleweed nodejs26 0 26.3.1-1.1

Related vulnerabilities