CVE-2026-48933: Node.js WebCrypto Denial-of-Service Vulnerability (v22, v24, v26)
Node.js has a vulnerability in its WebCrypto module that can crash the entire process when certain cryptographic encryption operations receive very large inputs—specifically, inputs that are exactly a multiple of 2 gigabytes in size. This affects currently supported versions of Node.js (22, 24, and 26), and an attacker on the network could trigger this denial-of-service condition without authentication.
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-190, CWE-770
- Affected products
- 3 configuration(s)
- Published / Modified
- 2026-06-26 / 2026-07-21
NVD description (verbatim)
A flaw in Node.js WebCrypto implementation can crash the process if the input of `subtle.encrypt()` is a multiple of 2GiB. This vulnerability affects all supported release lines: **Node.js 22**, **Node.js 24**, and **Node.js 26**.
16 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-48933 is a denial-of-service vulnerability in the Node.js WebCrypto implementation. The flaw exists in the `subtle.encrypt()` function, where improper handling of buffer sizes leads to a process crash when the input size is a multiple of 2GiB. The vulnerability stems from integer overflow and resource exhaustion issues (CWE-190, CWE-770). An unauthenticated remote attacker can exploit this over the network by sending a specially crafted request containing encryption input of the triggering size, causing the Node.js process to terminate and interrupting service availability.
Business impact
Organizations running Node.js applications that expose WebCrypto encryption endpoints face availability risk. A remote attacker can repeatedly trigger process crashes, effectively taking down services without breaching confidentiality or integrity. This is particularly damaging for microservices architectures or serverless platforms where individual Node.js instances handle high request volumes; repeated crashes degrade user experience and may trigger auto-scaling or resource exhaustion. Incident response overhead and potential SLA violations are compounding concerns.
Affected systems
All currently supported Node.js release lines are vulnerable: Node.js 22, Node.js 24, and Node.js 26. Any application running these versions that uses the WebCrypto API for encryption operations (via `subtle.encrypt()`) is at risk. This includes both explicit cryptographic endpoints and any internal usage of the WebCrypto module for encryption tasks.
Exploitability
This vulnerability has a high exploitability profile. It requires no authentication, no user interaction, and no special configuration—an attacker on the network can trigger the crash by sending a single request with a 2GiB-multiple-sized encryption input. The CVSS 3.1 score of 7.5 (HIGH) reflects the ease of exploitation and the guaranteed denial-of-service outcome. However, practical exploitation is somewhat limited by the need to transmit or reference 2GiB payloads; bandwidth constraints may slow attacks, but patient or well-positioned attackers can succeed. The vulnerability has not been added to the CISA KEV catalog, indicating it is not yet observed in active exploitation campaigns.
Remediation
Apply patches from the Node.js project for versions 22, 24, and 26 immediately. Consult the official Node.js security advisory for specific patched version numbers and verify compatibility with your application stack. As a temporary mitigation, implement rate limiting and request size caps on endpoints that accept WebCrypto encryption input, and monitor process restart rates for unexplained crashes. Consider running Node.js behind a reverse proxy that enforces maximum payload sizes.
Patch guidance
Visit the official Node.js security advisories and release notes to identify the patched versions for your release line (22, 24, or 26). Apply patches in a staged manner: test in pre-production environments first, verify application compatibility, and then roll out to production. Monitor process stability post-patch and correlate with your deployment logs. Verify against the vendor advisory that your patched version addresses CVE-2026-48933 specifically.
Detection guidance
Monitor Node.js process exit logs and restart frequencies for unexplained crashes, particularly those coinciding with unusually large requests to WebCrypto endpoints. Use application performance monitoring (APM) tools to track `subtle.encrypt()` call latency and failure rates. Network-level detection is challenging because the attack appears as a legitimate encryption request; focus instead on behavioral anomalies such as repeated process terminations. Implement structured logging that captures request payload sizes and correlate with process crash timestamps. Security Information and Event Management (SIEM) systems should flag patterns of rapid Node.js restarts.
Why prioritize this
This vulnerability merits immediate attention because it affects all three currently supported Node.js release lines, has high exploitability (CVSS 7.5), and can be triggered remotely without authentication. While not yet exploited in the wild, the simplicity of the attack vector and the guaranteed denial-of-service outcome make it an attractive target for disruptive campaigns. Delay in patching leaves production services exposed to service interruption.
Risk score, explained
The CVSS 3.1 score of 7.5 (HIGH) is assigned under the vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. This reflects: Network-accessible attack vector (AV:N), low attack complexity (AC:L), no privileges required (PR:N), no user interaction (UI:N), unchanged scope (S:U), no confidentiality impact (C:N), no integrity impact (I:N), but high availability impact (A:H). The score appropriately captures a pure denial-of-service condition that is trivial to execute but does not compromise data or system control.
Frequently asked questions
Does this vulnerability affect Node.js versions outside of 22, 24, and 26?
The advisory explicitly states that Node.js 22, 24, and 26 are affected. If you are running end-of-life or unmaintained versions, consult the Node.js security policy or reach out to the Node.js security team directly. Supported versions take priority for patch availability.
Can an attacker exploit this without sending a 2GiB payload over the network?
The flaw requires the `subtle.encrypt()` input to be a multiple of 2GiB. Practical network transmission of such payloads is bandwidth-intensive, but possible. Internal application calls to `subtle.encrypt()` with large buffers (e.g., file encryption operations) could also trigger the crash if those buffers happen to be 2GiB-multiples. The vulnerability is not limited to remote exploitation alone.
What is the difference between this and other Node.js security issues?
This vulnerability is isolated to the WebCrypto module and specifically the `subtle.encrypt()` function. It does not affect other cryptographic libraries or Node.js subsystems. If your application does not use WebCrypto, you have a narrower attack surface; however, you should still patch to maintain overall security posture.
Will patching cause downtime?
Applying patches typically requires a Node.js process restart. Plan your patching during a maintenance window or use a rolling deployment strategy to minimize user-facing downtime. Test patches in staging environments first to catch any compatibility issues before production rollout.
This analysis is based on the CVE-2026-48933 advisory and CVSS 3.1 scoring data provided as of July 2026. Specific patch version numbers, release dates, and detailed remediation guidance must be verified against the official Node.js security advisory and release notes. Organizations should conduct internal risk assessments accounting for their specific use of Node.js and WebCrypto. This document does not constitute professional security advice; consult your security team and the Node.js project for authoritative guidance. No exploit code or proof-of-concept is provided or implied. Source: NVD (public-domain), retrieved 2026-08-04. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-12151HIGHundici WebSocket Memory Exhaustion DoS Vulnerability
- CVE-2026-9675HIGHUndici WebSocket Memory Exhaustion Denial of Service
- CVE-2023-29146HIGHInteger Overflow in Malwarebytes EDR 1.0.11 Linux Hash Functions
- CVE-2023-54365HIGHTraefik HTTP/2 Denial of Service Vulnerability – Rapid Reset Attack
- CVE-2025-14098HIGHAvira Antivirus Engine Heap Buffer Overflow—Patch Guidance
- CVE-2025-46638HIGHDell BSAFE SSL-J Resource Exhaustion DoS Vulnerability
- CVE-2025-61028HIGHOpenLink Virtuoso DoS Vulnerability in time_t_to_dt Component
- CVE-2025-66280HIGHQNAP Integer Overflow Vulnerability: Patch & Risk Assessment