Servers and applications
CVE-2026-123863
Node.js is vulnerable to a remote HTTP/2 denial of service via a reachable assertion in Http2Session teardown
- Severity
- High 8.2
- Published
- 11 Nov 2026
- Last changed
- 11 Nov 2026
- Added to UpHeron
- 11 Nov 2026
- Fixed in
- 24.22.3, 26.13.1
- Weakness
- CWE-617
- Attack
- Over the network · No login needed · No user action needed
- Attacker can
- Change some data · Take it down
- CVSS vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H- Sources
- CVE Program
Description
A reachable assertion in Node.js HTTP/2 session teardown lets any unauthenticated client abort the server, over both TLS and cleartext. A client can arrange for an Http2Stream that still holds nghttp2-allocated header buffers to outlive its session: the stream is removed from the session's stream set but never detached, so when ~Http2Session() runs the memory accounting is nonzero and the CHECK_EQ(current_nghttp2_memory_, 0) assertion fails, terminating the process. The trigger needs only a default http2 server whose handler responds before the request body has ended, which is typical. It is a variant of CVE-2024-27983 that the earlier fix did not cover, because that fix only detached streams still tracked in the session. This vulnerability affects Node.js 26.x (since 26.9.0) and 24.x (since 24.22.0).
Affected software
| Software | Affected versions |
|---|---|
Node.jsServers and applications · cna:nodejs|node |
|
References
- CVE.org https://www.cve.org/CVERecord?id=CVE-2026-123863