Node.js HTTP/2 DoS via header frame race condition
CVE-2024-27983 Published on April 9, 2024
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.
Weakness Type
What is a Race Condition Vulnerability?
The program contains a code sequence that can run concurrently with other code, and the code sequence requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence that is operating concurrently.
CVE-2024-27983 has been classified to as a Race Condition vulnerability or weakness.
Products Associated with CVE-2024-27983
stack.watch emails you whenever new vulnerabilities are published in Oracle or nodejs. Just hit a watch button to start following.
Affected Versions
NodeJS Node:- Version 4.0 and below 4.* is affected.
- Version 5.0 and below 5.* is affected.
- Version 6.0 and below 6.* is affected.
- Version 7.0 and below 7.* is affected.
- Version 8.0 and below 8.* is affected.
- Version 9.0 and below 9.* is affected.
- Version 10.0 and below 10.* is affected.
- Version 11.0 and below 11.* is affected.
- Version 12.0 and below 12.* is affected.
- Version 13.0 and below 13.* is affected.
- Version 14.0 and below 14.* is affected.
- Version 15.0 and below 15.* is affected.
- Version 16.0 and below 16.* is affected.
- Version 17.0 and below 17.* is affected.
- Version 18.0 and below 18.20.1 is affected.
- Version 19.0 and below 19.* is affected.
- Version 20.0 and below 20.12.1 is affected.
- Version 21.0 and below 21.7.2 is affected.
- Before and including 18.20.0 is affected.
- Before and including 20.12.0 is affected.
- Before and including 21.7.1 is affected.
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.