HIGH 7.5

CVE-2026-48619: Node.js HTTP/2 Client Out-of-Memory Denial of Service

Node.js has a vulnerability in how it handles HTTP/2 connections where a malicious server can overwhelm a client by sending an excessive number of ORIGIN frames, causing the client process to consume memory until it crashes. This is a denial-of-service flaw that affects all three currently supported Node.js release lines: versions 22, 24, and 26.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses (CWE)
CWE-400
Affected products
3 configuration(s)
Published / Modified
2026-06-26 / 2026-06-26

NVD description (verbatim)

A flaw in Node.js HTTP/2 client allows a server to send an unlimited number of ORIGIN frames, which could lead to an Out of Memory error on the client. This vulnerability affects all supported release lines: **Node.js 22**, **Node.js 24**, and **Node.js 26**.

1 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-48619 is an HTTP/2 protocol handling defect in Node.js where the client implementation fails to enforce limits on ORIGIN frames received from a server. An attacker controlling a server can exploit this to send unbounded ORIGIN frames, triggering an Out of Memory condition in the client. The vulnerability is rooted in insufficient resource validation (CWE-400: Uncontrolled Resource Consumption) and requires network access but no authentication or user interaction. The CVSS 3.1 score of 7.5 reflects the high availability impact with no confidentiality or integrity compromise.

Business impact

For organizations running Node.js applications that connect to external HTTP/2 servers, this vulnerability poses a denial-of-service risk. Client applications could crash unexpectedly when communicating with untrusted or compromised servers, impacting service availability. This is particularly relevant for microservices architectures, API clients, and backend services that rely on HTTP/2 for performance. The lack of exposure to data breach or system compromise lessens the strategic risk, but operational disruption during attacks remains a concern.

Affected systems

The vulnerability affects Node.js 22, 24, and 26—all current supported release lines as of the vulnerability publication date. Any application built on these versions that uses the Node.js HTTP/2 client API is potentially vulnerable when connecting to untrusted or attacker-controlled servers. Applications using HTTP/2 servers (as opposed to clients) are not affected.

Exploitability

Exploitation requires network access and the ability to operate or control an HTTP/2 server that a Node.js client connects to. No authentication is required, and the attack is trivial to execute once a client establishes a connection—the attacker simply sends malformed or excessive ORIGIN frames. This makes the vulnerability highly exploitable in scenarios involving client connections to third-party APIs, reverse proxies, or untrusted endpoints, though internal network exposure is limited if HTTP/2 connections are restricted to trusted peers.

Remediation

Patch Node.js to the latest available version within your release line (22, 24, or 26) that includes fixes for this vulnerability. Verify patch availability through the official Node.js security advisory and release notes. In the interim, restrict outbound HTTP/2 connections to trusted servers only, disable HTTP/2 protocol support if feasible for your use case, or implement network segmentation to prevent client applications from reaching untrusted endpoints.

Patch guidance

Node.js maintainers will have released patched versions for all three affected release lines. Consult the official Node.js security advisory (nodejs.org/en/security) to identify the specific patch versions for your release line and test thoroughly in pre-production before deploying. Given the simplicity of exploitation, patch deployment should be prioritized within 2–4 weeks depending on your risk tolerance and application criticality.

Detection guidance

Monitor for unexpected memory growth or Out of Memory crashes in Node.js processes, particularly those handling HTTP/2 client connections. Inspect application logs for abnormal disconnections or resource exhaustion warnings. Network-level detection is challenging without deep packet inspection; focus on behavioral indicators such as process memory spikes correlated with remote connection attempts. If you have access to application traces or profiling data, look for excessive ORIGIN frame processing in HTTP/2 session handling.

Why prioritize this

Although this vulnerability does not expose data or enable unauthorized access, the ease of exploitation and impact on availability warrant timely remediation. Any organization with Node.js applications that open HTTP/2 connections to external or semi-trusted servers should treat this as a medium-to-high priority. The fact that all three supported release lines are affected increases the scope of potential impact.

Risk score, explained

The CVSS 3.1 score of 7.5 (HIGH) reflects a remotely exploitable denial-of-service condition with no complexity required, resulting in high availability impact. The score does not account for business context—organizations heavily dependent on availability of HTTP/2 clients may assess internal risk as higher, while those without such dependencies may defer patching longer.

Frequently asked questions

Does this vulnerability affect Node.js servers, or only clients?

Only the HTTP/2 client implementation is vulnerable. If your Node.js application receives HTTP/2 requests (acting as a server), it is not directly affected by this flaw. However, if it also makes outbound HTTP/2 connections to other servers, those client connections are at risk.

Can this be exploited across the internet, or only on internal networks?

The attack requires a Node.js client to connect to a server controlled or compromised by the attacker. If your client connects only to trusted internal servers or a fixed set of vetted third-party endpoints, the risk is lower. Exposure is highest for applications that connect to arbitrary or user-supplied server addresses.

Is there a workaround if I cannot patch immediately?

You can mitigate risk by disabling HTTP/2 support in your Node.js client configuration (forcing HTTP/1.1), restricting outbound connections to a whitelist of trusted servers, or isolating vulnerable applications in network zones with limited egress. These are temporary measures; patching remains the recommended solution.

How long before patches are released?

Check the official Node.js security advisory at nodejs.org/en/security for exact patch availability and versions. Typically, patches are released concurrently across all supported release lines, but timelines vary by severity and Node.js release schedule.

This analysis is based on the CVE record and vulnerability description as of the publication date. Patch availability, exploit prevalence, and mitigation effectiveness may change over time. Organizations should verify patch status directly through nodejs.org/en/security and test in their environment before production deployment. No exploit code or proof-of-concept is provided; this analysis is for informational and defensive purposes only. Source: NVD (public-domain), retrieved 2026-08-04. Analysis generated by SEC.co (claude-haiku-4-5).