CVE-2021-22883: Denial of Service (CWE-400) in NodeJS Node
Node.js before 10.24.0, 12.21.0, 14.16.0, and 15.10.0 is vulnerable to a denial of service attack when too many connection attempts with an 'unknownProtocol' are established. This leads to a leak of file descriptors. If a file descriptor limit is configured on the system, then the server is unable to accept new connections and prevent the process also from opening, e.g. a file. If no file descriptor limit is configured, then this lead to an excessive memory usage and cause the system to run out of memory.
AI Analysis
Technical Summary
CVE-2021-22883 is a denial of service (DoS) vulnerability affecting Node.js versions prior to 10.24.0, 12.21.0, 14.16.0, and 15.10.0. The vulnerability arises when an attacker establishes numerous connection attempts using an 'unknownProtocol'. This triggers a leak of file descriptors within the Node.js process. File descriptors are critical system resources used to manage open files and network connections. When these descriptors are exhausted due to the leak, the server can no longer accept new connections or open files, effectively causing a denial of service. If the operating system enforces a file descriptor limit, the Node.js process hits this limit and becomes unable to handle legitimate requests or perform file operations. In the absence of such limits, the leak leads to excessive memory consumption, potentially causing the system to run out of memory and crash or become unresponsive. This vulnerability is categorized under CWE-400, indicating a resource exhaustion issue. Exploitation does not require authentication or user interaction, making it relatively easy for remote attackers to trigger the condition by sending malformed connection attempts. Although no known exploits have been reported in the wild, the vulnerability poses a significant risk to any Node.js server running affected versions, especially those exposed to untrusted networks or the internet. The affected versions span a wide range, including major LTS and current releases prior to the patched versions, indicating that many deployments could be vulnerable if not updated.
Potential Impact
For European organizations, the impact of CVE-2021-22883 can be substantial, particularly for those relying on Node.js-based backend services, APIs, or real-time applications. The denial of service caused by file descriptor exhaustion can disrupt critical business operations, leading to service outages, degraded performance, and potential loss of customer trust. Organizations in sectors such as finance, healthcare, telecommunications, and e-commerce, which often deploy Node.js for scalable web services, may experience operational downtime affecting transaction processing, data availability, and customer interactions. Additionally, resource exhaustion can indirectly impact system integrity if recovery mechanisms fail or if the system crashes unexpectedly. Given that the vulnerability can be exploited remotely without authentication, attackers can target exposed Node.js servers to cause widespread disruption. This is especially concerning for cloud-hosted services or public-facing applications common in European enterprises. The absence of known exploits in the wild suggests limited active exploitation, but the ease of triggering the vulnerability means that opportunistic attackers or automated scanning tools could leverage it. Furthermore, the impact on availability aligns with GDPR requirements for service continuity and data protection, meaning outages could have regulatory and reputational consequences for affected organizations.
Mitigation Recommendations
To mitigate CVE-2021-22883, European organizations should prioritize upgrading Node.js to versions 10.24.0, 12.21.0, 14.16.0, 15.10.0, or later, where the vulnerability is patched. If immediate upgrade is not feasible, organizations should implement network-level controls such as rate limiting and connection filtering to restrict the number of simultaneous connection attempts with unknown or unsupported protocols. Deploying Web Application Firewalls (WAFs) or intrusion prevention systems (IPS) configured to detect and block anomalous connection patterns can reduce exposure. Additionally, system administrators should review and adjust file descriptor limits to balance resource availability and system stability, ensuring that limits are neither too low to cause premature exhaustion nor too high to allow uncontrolled resource consumption. Monitoring tools should be configured to alert on unusual spikes in open file descriptors, memory usage, or connection attempts to enable rapid detection and response. For critical services, implementing redundancy and failover mechanisms can minimize downtime in case of an attack. Finally, organizations should conduct regular security assessments and update their incident response plans to include scenarios involving resource exhaustion attacks targeting Node.js environments.
Affected Countries
Germany, United Kingdom, France, Netherlands, Sweden, Italy, Spain, Poland, Belgium, Ireland
CVE-2021-22883: Denial of Service (CWE-400) in NodeJS Node
Description
Node.js before 10.24.0, 12.21.0, 14.16.0, and 15.10.0 is vulnerable to a denial of service attack when too many connection attempts with an 'unknownProtocol' are established. This leads to a leak of file descriptors. If a file descriptor limit is configured on the system, then the server is unable to accept new connections and prevent the process also from opening, e.g. a file. If no file descriptor limit is configured, then this lead to an excessive memory usage and cause the system to run out of memory.
AI-Powered Analysis
Technical Analysis
CVE-2021-22883 is a denial of service (DoS) vulnerability affecting Node.js versions prior to 10.24.0, 12.21.0, 14.16.0, and 15.10.0. The vulnerability arises when an attacker establishes numerous connection attempts using an 'unknownProtocol'. This triggers a leak of file descriptors within the Node.js process. File descriptors are critical system resources used to manage open files and network connections. When these descriptors are exhausted due to the leak, the server can no longer accept new connections or open files, effectively causing a denial of service. If the operating system enforces a file descriptor limit, the Node.js process hits this limit and becomes unable to handle legitimate requests or perform file operations. In the absence of such limits, the leak leads to excessive memory consumption, potentially causing the system to run out of memory and crash or become unresponsive. This vulnerability is categorized under CWE-400, indicating a resource exhaustion issue. Exploitation does not require authentication or user interaction, making it relatively easy for remote attackers to trigger the condition by sending malformed connection attempts. Although no known exploits have been reported in the wild, the vulnerability poses a significant risk to any Node.js server running affected versions, especially those exposed to untrusted networks or the internet. The affected versions span a wide range, including major LTS and current releases prior to the patched versions, indicating that many deployments could be vulnerable if not updated.
Potential Impact
For European organizations, the impact of CVE-2021-22883 can be substantial, particularly for those relying on Node.js-based backend services, APIs, or real-time applications. The denial of service caused by file descriptor exhaustion can disrupt critical business operations, leading to service outages, degraded performance, and potential loss of customer trust. Organizations in sectors such as finance, healthcare, telecommunications, and e-commerce, which often deploy Node.js for scalable web services, may experience operational downtime affecting transaction processing, data availability, and customer interactions. Additionally, resource exhaustion can indirectly impact system integrity if recovery mechanisms fail or if the system crashes unexpectedly. Given that the vulnerability can be exploited remotely without authentication, attackers can target exposed Node.js servers to cause widespread disruption. This is especially concerning for cloud-hosted services or public-facing applications common in European enterprises. The absence of known exploits in the wild suggests limited active exploitation, but the ease of triggering the vulnerability means that opportunistic attackers or automated scanning tools could leverage it. Furthermore, the impact on availability aligns with GDPR requirements for service continuity and data protection, meaning outages could have regulatory and reputational consequences for affected organizations.
Mitigation Recommendations
To mitigate CVE-2021-22883, European organizations should prioritize upgrading Node.js to versions 10.24.0, 12.21.0, 14.16.0, 15.10.0, or later, where the vulnerability is patched. If immediate upgrade is not feasible, organizations should implement network-level controls such as rate limiting and connection filtering to restrict the number of simultaneous connection attempts with unknown or unsupported protocols. Deploying Web Application Firewalls (WAFs) or intrusion prevention systems (IPS) configured to detect and block anomalous connection patterns can reduce exposure. Additionally, system administrators should review and adjust file descriptor limits to balance resource availability and system stability, ensuring that limits are neither too low to cause premature exhaustion nor too high to allow uncontrolled resource consumption. Monitoring tools should be configured to alert on unusual spikes in open file descriptors, memory usage, or connection attempts to enable rapid detection and response. For critical services, implementing redundancy and failover mechanisms can minimize downtime in case of an attack. Finally, organizations should conduct regular security assessments and update their incident response plans to include scenarios involving resource exhaustion attacks targeting Node.js environments.
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- hackerone
- Date Reserved
- 2021-01-06T00:00:00
- Cisa Enriched
- false
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d983ac4522896dcbed41b
Added to database: 5/21/2025, 9:09:14 AM
Last enriched: 6/25/2025, 2:34:43 PM
Last updated: 8/15/2025, 8:12:58 PM
Views: 19
Related Threats
CVE-2025-53948: CWE-415 Double Free in Santesoft Sante PACS Server
HighCVE-2025-52584: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-46269: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-54862: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumCVE-2025-54759: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.