Skip to main content

Uncontrolled Resource Consumption in nodejs

CVE-2024-27983

  • nodejs
Severity High
Score 8.2/10

Summary

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. This vulnerability affects the nodejs versions 18.0.0 through 18.20.0, 20.0.0 through 20.12.0, and 21.0.0 through 21.7.1.

  • LOW
  • NETWORK
  • LOW
  • UNCHANGED
  • NONE
  • NONE
  • NONE
  • HIGH

CWE-400 - Uncontrolled resource consumption

An uncontrolled resource allocation attack (also known as resource exhaustion attack) triggers unauthorized overconsumption of the limited resources in an application, such as memory, file system storage, database connection pool entries, and CPU. This may lead to denial of service for valid users and degradation of the application's functionality as well as that of the host operating system.

Advisory Timeline

  • Published