Attacker Can Cause Complete Unavailability of Node.js HTTP/2 Server with Small Amount of Frames
CVE-2024-27983

8.2HIGH

Key Information:

Vendor

Nodejs

Status
Vendor
CVE Published:
9 April 2024

Badges

👾 Exploit Exists🟡 Public PoC🟣 EPSS 72%

What is CVE-2024-27983?

The Node.js HTTP/2 server is vulnerable to a service disruption attack that can be triggered by sending a small quantity of HTTP/2 frames. This flaw arises when the server encounters unexpected behavior during the processing of CONTINUATION frames, coupled with sudden TCP connection termination by clients. This scenario leads to a race condition as some data might persist in nghttp2 memory during the Http2Session destructor execution while header frames are still being handled. Consequently, this vulnerability exposes users to potential denial of service, severely affecting the availability of the affected server.

Affected Version(s)

Node 4.0 < 4.*

Node 5.0 < 5.*

Node 6.0 < 6.*

Exploit Proof of Concept (PoC)

PoC code is written by security researchers to demonstrate the vulnerability can be exploited. PoC code is also a key component for weaponization which could lead to ransomware.

References

EPSS Score

72% chance of being exploited in the next 30 days.

CVSS V3.1

Score:
8.2
Severity:
HIGH
Confidentiality:
None
Integrity:
Low
Availability:
None
Attack Vector:
Network
Attack Complexity:
Low
Privileges Required:
None
User Interaction:
None
Scope:
Unchanged

CVSS V3.0

Score:
8.2
Severity:
HIGH
Confidentiality:
None
Integrity:
Low
Availability:
None
Attack Vector:
Network
Attack Complexity:
Low
Privileges Required:
None
User Interaction:
None
Scope:
Unchanged

Timeline

  • 🟡

    Public PoC available

  • 👾

    Exploit known to exist

  • Vulnerability published

.
CVE-2024-27983 : Attacker Can Cause Complete Unavailability of Node.js HTTP/2 Server with Small Amount of Frames