Node.js: Remote denial of service via assertion in HTTP/2 session teardown
Summary
A reachable assertion in the HTTP/2 session teardown of Node.js allows any unauthenticated client to abort the server process. The trigger works over both TLS and cleartext and needs only a default HTTP/2 server whose handler responds before the request body has ended, which is a common pattern. The attack causes a service outage, not data theft, and this is a variant of CVE-2024-27983 that the earlier fix did not cover.
Affected
- Node.js 26.x from 26.9.0 (before 26.13.1)
- Node.js 24.x from 24.22.0 (before 24.22.3)
- Node.js 22.x (before 22.23.5), according to the release notes
- The CVE record lists different ranges (24.0.0 to before 24.22.3 and 25.0.0 to before 26.13.1), so treat all versions below the fixed releases as potentially affected
- Node.js 25 and 20 are end-of-life and receive no fix
Fixed in
- Node.js 26.13.1
- Node.js 24.22.3
- Node.js 22.23.5
Workaround
Unknown. No vendor-documented workaround is available; upgrading is the only confirmed fix.
Exploitation
- Not known to be exploited (OffSeq, evidence rated thin)
- No public proof of concept or in-the-wild reports found; this is an absence of findings
Our recommendation
- Inventory all Node.js runtimes on hosts, containers and bundled appliances or build images
- Upgrade to 26.13.1, 24.22.3 or 22.23.5 and restart the services
- Prioritise internet-facing Node.js services with HTTP/2 enabled
- Apply the other HTTP/2 fixes from the same release (CVE-2026-123865, CVE-2026-123874) together with this update
- Monitor for unexpected process restarts and recheck CISA KEV over the coming days
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- OpenJS CNA security advisories cna.openjsf.org
- Node.js security releases, 11 November 2026 nodejs.org
- CVE record CVE-2026-123863 www.cve.org
- Node.js v26.13.1 release nodejs.org
- Node.js v22.23.5 release on GitHub github.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 11 Nov 2026, 20:27.
Original description (NVD)
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).
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
