Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
Medium

Memory leak and DoS in Node.js HTTP/2 via crafted WINDOW_UPDATE frames

IdentifiersCVE-2026-21714CWE-772

CVE-2026-21714 is a medium-severity denial-of-service vulnerability in Node.js HTTP/2 server implementations affecting Node.js 20.x, 22.x, 24.x, and 25.x. A malicious client can send HTTP/2 WINDOW_UPDATE frames on stream 0 (the connection-level control stream) with values that cause the flow-control window to exceed the protocol maximum of 2^31-1. In the affected implementation, this triggers an NGHTTP2_ERR_FLOW_CONTROL condition. Although the server correctly responds by sending a GOAWAY frame, the associated Http2Session object is not cleaned up afterward, resulting in a memory leak. Repeated exploitation across connections can accumulate leaked session objects and exhaust server memory.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation causes memory consumption to grow over time on affected Node.js HTTP/2 servers. By repeatedly sending malformed WINDOW_UPDATE frames and forcing creation of leaked Http2Session objects, an unauthenticated remote attacker can exhaust available memory and degrade service stability, ultimately causing denial of service through resource exhaustion.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, reduce exposure by disabling or restricting HTTP/2 service where feasible, limiting access to HTTP/2 endpoints to trusted clients, and placing affected services behind reverse proxies or gateways that can normalize or reject malformed HTTP/2 traffic. Operationally, enforce memory limits, monitor for abnormal connection churn and memory growth, and restart affected processes as a temporary containment measure. These are mitigations only and do not remove the underlying flaw.

Remediation

Patch, then assume compromise.

Upgrade Node.js to a patched release that includes the fix for CVE-2026-21714. The provided content identifies patched versions as Node.js v20.20.2, v22.22.2, v24.14.1, and v25.8.2. The fix adds explicit handling for the nghttp2 flow-control error condition so the Http2Session is properly cleaned up after the protocol violation.
PUBLIC EXPLOITS

Exploits

No public exploits tracked yet. Mallory keeps watching.

VALID 0 / 0 TOTALView more in app

No public exploit code observed for this vulnerability.

EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
NodejsNodejsapplication
Rocky LinuxNodejs24application
Rocky LinuxRocky Linuxoperating_system

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity2

Community discussion across Reddit, Mastodon, and other social sources.