ALPINE-CVE-2026-123865: High severity alpine/nodejs vulnerability

Published Nov 11, 2026
·
Updated

An unauthenticated HTTP/2 client can permanently leak Node.js server memory and file descriptors. If a peer triggers a protocol error, for example an oversized frame header, while the session is already shutting down, nghttp2 tears the session down internally but Node.js never notices, leaving a dangling session: the socket stays in CLOSEWAIT and all of Node.js's HTTP/2 state for that connection is held in memory indefinitely, with no further cost to the attacker. The attacker can start the shutdown remotely by sending GOAWAY(NOERROR), so it is reliable against default HTTP/2 servers. It is an incomplete-fix case of CVE-2026-48937: that fix detected nghttp2 internal terminations by watching for GOAWAY sent while not shutting down, but missed terminations that arrive while the session is already shutting down. This vulnerability affects Node.js 26.x, 24.x, and 22.x.

Affected Software

4 affected componentsFixes available
alpine/nodejs<22.23.5-r0
22.23.5-r0
alpine/nodejs<22.23.5-r0
22.23.5-r0
alpine/nodejs<24.22.3-r0
24.22.3-r0
alpine/nodejs<24.22.3-r0
24.22.3-r0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade alpine/nodejs to a version that resolves this vulnerability.

    Fixed in 22.23.5-r0
  2. Upgrade

    Upgrade alpine/nodejs to a version that resolves this vulnerability.

    Fixed in 24.22.3-r0

Event History

Nov 11, 2026
CVE Published
via OSV·07:17 PM
Data Sourced
via OSV·07:17 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Which deployments are exposed to this issue?

Node.js HTTP/2 servers in the affected 26.x, 24.x, and 22.x release lines are exposed. The issue is reliable against default HTTP/2 server configurations.

2

What does an attacker need to exploit it?

An attacker only needs unauthenticated network access to the HTTP/2 service. They can initiate shutdown with GOAWAY(NO_ERROR) and then trigger a protocol error, such as an oversized frame header, while the session is shutting down.

3

What is the operational impact of repeated exploitation?

Each successful attempt can leave a connection socket in CLOSE_WAIT and retain all Node.js HTTP/2 state for that connection indefinitely. Repeated dangling sessions can permanently consume memory and file descriptors, resulting in denial of service.

4

How can operators identify potentially affected sessions?

Look for HTTP/2 connections whose sockets remain in CLOSE_WAIT while associated Node.js HTTP/2 session state is not released. Persistent growth in memory or open file descriptors after HTTP/2 peers disconnect or encounter protocol errors is also indicative.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203