Your Node.js Server Could Be Leaking User Data

TL;DR: Node.js has fixed critical security flaws that allowed attackers to crash servers or steal data from other users' connections. The bugs affect the built-in HTTP/2 module, and updated versions are now available for all supported release lines.
Key facts
- Category
- Cybersecurity
- Impact
- Critical
- Published
- Source
- The Hacker News
Full summary
Critical Node.js security flaws let attackers crash servers and leak memory, including data from other connections. Patches are now available.
The Node.js project has released urgent security updates addressing 16 flaws, two of which pose a critical threat to a vast number of web services. According to reporting from The Hacker News, the most severe vulnerabilities allow unauthenticated attackers to remotely crash servers or steal sensitive data. The first flaw enables a Denial-of-Service (DoS) attack, where a malicious request can terminate a server process, taking applications offline. The second, an Information Disclosure vulnerability, can cause a server to leak parts of its memory, potentially exposing one user's private data to another. Both of these critical bugs are located in the runtime's built-in HTTP/2 module, a core component for modern, high-performance networking. Patched versions are now available for all supported release lines, and administrators are strongly advised to upgrade to versions 22.23.5, 24.22.3, or 26.13.1 immediately to protect their infrastructure.
These vulnerabilities exploit the inherent complexity of the HTTP/2 protocol. The DoS attack likely involves sending a specially crafted sequence of HTTP/2 frames that the server's internal logic cannot handle correctly. This could trigger a fatal error or resource exhaustion, causing the Node.js process to crash. Because such an attack can be executed with minimal resources, it presents a potent threat to application availability. The information disclosure bug is arguably more dangerous. In a concurrent server environment, memory is rapidly allocated and deallocated to handle thousands of simultaneous connections. A flaw in how Node.js manages memory buffers for HTTP/2 responses could cause it to miscalculate the boundaries of a data chunk. This could lead to a scenario where a response intended for an attacker accidentally includes leftover data from a buffer previously used for another user, exposing session tokens, personal information, or other confidential data.
This incident is part of a broader trend of security challenges associated with modern web protocols. The transition from the simpler HTTP/1.1 to the more complex, multiplexed HTTP/2 was a necessary evolution for web performance, but it introduced a significantly larger attack surface. This was starkly illustrated in late 2023 by the "HTTP/2 Rapid Reset" vulnerability, which enabled some of the largest DDoS attacks ever recorded by exploiting a feature of the protocol. The new Node.js flaws are another reminder that the intricate state management required by HTTP/2 is a fertile ground for subtle but critical bugs. Given that Node.js is a foundational technology for countless APIs, microservices, and websites, a vulnerability in its core networking stack represents a systemic risk across the industry. It underscores the immense pressure on open-source maintainers to secure the digital infrastructure we all depend on.
For engineering and security teams, the immediate and only effective response is to patch all affected systems without delay. As security researchers and malicious actors begin to analyze the patches, the window of opportunity to act is closing, and the risk of exploitation will rise sharply. This event should also serve as a catalyst for organizations to review their broader security posture. It highlights the critical importance of having a robust and rapid patching process, supported by automated dependency scanning tools like `npm audit` or Snyk. Beyond patching, teams should consider a defense-in-depth strategy. This includes ensuring that monitoring and alerting systems are configured to detect unusual server behavior, such as frequent crashes, which could signal an attempted attack. While patching is the definitive solution, a prepared organization is one that can not only apply fixes quickly but also detect, respond, and learn from incidents to strengthen its resilience against the next inevitable vulnerability.
Why it matters
These vulnerabilities are critical for any team running Node.js with HTTP/2. An unauthenticated remote attacker can cause a denial-of-service or an information disclosure, potentially exposing sensitive user data from one connection to another. The low complexity makes these flaws highly exploitable.
Business impact
A server crash leads to immediate downtime, lost revenue, and reputational damage. The data leak vulnerability is even more severe, creating significant legal and compliance risks if sensitive customer information is exposed. Failing to patch could lead to data breaches and loss of customer trust.
⚡ Action needed
Update Node.js to the latest patched versions (22.23.5, 24.22.3, or 26.13.1) to fix critical vulnerabilities that can cause server crashes and data leaks.
Action checklist
- 1Identify all applications using affected Node.js versions.
- 2Prioritize patching public-facing servers that use the built-in HTTP/2 module.
- 3Update to a patched version: 22.23.5, 24.22.3, or 26.13.1.
- 4Test applications thoroughly after updating to ensure compatibility.
- 5Monitor server logs for any unusual activity or crash reports.
Tags
Related on Notifire
Related stories
Primary source: The Hacker News