Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

CVE-2024-27983: Vulnerability in NodeJS Node

0
High
VulnerabilityCVE-2024-27983cvecve-2024-27983
Published: Tue Apr 09 2024 (04/09/2024, 01:06:43 UTC)
Source: CVE
Vendor/Project: NodeJS
Product: Node

Description

An attacker can make the Node.js HTTP/2 server completely unavailable by sending a small amount of HTTP/2 frames packets with a few HTTP/2 frames inside. It is possible to leave some data in nghttp2 memory after reset when headers with HTTP/2 CONTINUATION frame are sent to the server and then a TCP connection is abruptly closed by the client triggering the Http2Session destructor while header frames are still being processed (and stored in memory) causing a race condition.

AI-Powered Analysis

AILast updated: 11/05/2025, 00:53:13 UTC

Technical Analysis

CVE-2024-27983 is a vulnerability in the Node.js HTTP/2 server component that arises from a race condition in the handling of HTTP/2 CONTINUATION frames. When an attacker sends a small number of HTTP/2 frames containing CONTINUATION frames and then abruptly closes the TCP connection, the Http2Session destructor is triggered while header frames are still being processed and stored in memory. This leads to a situation where some data remains allocated in the nghttp2 memory after a reset, causing a race condition (CWE-362). The race condition can be exploited to cause the Node.js HTTP/2 server to become completely unavailable, effectively resulting in a denial-of-service (DoS) attack. The vulnerability affects all Node.js versions from 4.0 through 21.0, indicating a long-standing issue across multiple major releases. The attack vector is network-based (AV:N), requires no privileges (PR:N), and no user interaction (UI:N), making it straightforward to exploit remotely. The impact is primarily on availability (A:H), with no direct impact on confidentiality or integrity. Although no known exploits have been reported in the wild, the vulnerability's characteristics suggest it could be weaponized to disrupt services relying on Node.js HTTP/2 servers. The underlying cause is a concurrency issue in memory management during HTTP/2 header processing, which can be triggered by carefully crafted frame sequences and connection termination timing. This vulnerability highlights the importance of robust concurrency controls and memory management in protocol implementations.

Potential Impact

For European organizations, the primary impact of CVE-2024-27983 is the potential for denial-of-service attacks against services running Node.js HTTP/2 servers. This can lead to service outages, degraded user experience, and potential financial losses, especially for sectors relying heavily on web services such as finance, e-commerce, telecommunications, and critical infrastructure. Disruption of Node.js-based services could also affect internal business operations and customer-facing applications. Given the widespread use of Node.js in modern web applications and microservices architectures, the vulnerability could be exploited to target cloud-hosted services and on-premise deployments alike. The lack of required authentication and ease of remote exploitation increase the risk of opportunistic attacks. Additionally, prolonged outages could impact regulatory compliance, especially under GDPR and other European data protection laws if service availability is critical to data processing activities. Organizations with high availability requirements and those providing essential digital services are particularly vulnerable to operational and reputational damage.

Mitigation Recommendations

1. Apply official patches from the Node.js project as soon as they become available to address CVE-2024-27983. Monitor Node.js security advisories closely. 2. In the interim, consider disabling HTTP/2 support in Node.js servers if feasible, or restrict HTTP/2 usage to trusted networks to reduce exposure. 3. Implement network-level protections such as Web Application Firewalls (WAFs) and Intrusion Prevention Systems (IPS) configured to detect and block anomalous HTTP/2 frame sequences and abrupt connection terminations indicative of exploitation attempts. 4. Employ rate limiting and connection throttling to mitigate the impact of rapid connection resets and malformed frame floods. 5. Conduct thorough testing of Node.js HTTP/2 server deployments to identify abnormal memory usage or crashes under stress conditions. 6. Use runtime monitoring and logging to detect unusual HTTP/2 traffic patterns and session terminations that could signal exploitation attempts. 7. Educate development and operations teams about the vulnerability and encourage secure coding and deployment practices around HTTP/2 handling. 8. For critical environments, consider deploying Node.js instances behind reverse proxies that can absorb or filter malformed HTTP/2 traffic.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
hackerone
Date Reserved
2024-02-29T01:04:06.641Z
Cisa Enriched
true
Cvss Version
3.0
State
PUBLISHED

Threat ID: 682d983ac4522896dcbed60d

Added to database: 5/21/2025, 9:09:14 AM

Last enriched: 11/5/2025, 12:53:13 AM

Last updated: 12/3/2025, 3:47:27 PM

Views: 30

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats