// For flags

CVE-2024-27983

nodejs: CONTINUATION frames DoS

Severity Score

7.5
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

1
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Attend
*SSVC
Descriptions

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.

Un atacante puede hacer que el servidor HTTP/2 de Node.js no esté completamente disponible enviando una pequeña cantidad de paquetes de tramas HTTP/2 con algunas tramas HTTP/2 en su interior. Es posible dejar algunos datos en la memoria nghttp2 después del reinicio cuando los encabezados con el frame de CONTINUATION HTTP/2 se envían al servidor y luego el cliente cierra abruptamente una conexión TCP activando el destructor Http2Session mientras los frames de encabezado aún se están procesando (y almacenando en la memoria) causando una condición de ejecución.

A vulnerability was found in how Node.js implements the HTTP/2 protocol. There are insufficient limitations placed on the amount of CONTINUATION frames that can be sent within a single stream. This issue could allow an unauthenticated, remote attacker to send packets to vulnerable servers, which could use up compute or memory resources, causing a denial of service.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
High
* Common Vulnerability Scoring System
SSVC
  • Decision:Attend
Exploitation
None
Automatable
Yes
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2024-02-29 CVE Reserved
  • 2024-04-09 CVE Published
  • 2024-04-14 First Exploit
  • 2024-04-20 EPSS Updated
  • 2024-08-22 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-400: Uncontrolled Resource Consumption
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Node.js
Search vendor "Node.js"
Node
Search vendor "Node.js" for product "Node"
18.20.0
Search vendor "Node.js" for product "Node" and version "18.20.0"
en
Affected
Node.js
Search vendor "Node.js"
Node
Search vendor "Node.js" for product "Node"
20.12.0
Search vendor "Node.js" for product "Node" and version "20.12.0"
en
Affected
Node.js
Search vendor "Node.js"
Node
Search vendor "Node.js" for product "Node"
21.7.1
Search vendor "Node.js" for product "Node" and version "21.7.1"
en
Affected