// For flags

CVE-2024-30255

HTTP/2: CPU exhaustion due to CONTINUATION frame flood

Severity Score

5.3
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

2
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Attend
*SSVC
Descriptions

Envoy is a cloud-native, open source edge and service proxy. The HTTP/2 protocol stack in Envoy versions prior to 1.29.3, 1.28.2, 1.27.4, and 1.26.8 are vulnerable to CPU exhaustion due to flood of CONTINUATION frames. Envoy's HTTP/2 codec allows the client to send an unlimited number of CONTINUATION frames even after exceeding Envoy's header map limits. This allows an attacker to send a sequence of CONTINUATION frames without the END_HEADERS bit set causing CPU utilization, consuming approximately 1 core per 300Mbit/s of traffic and culminating in denial of service through CPU exhaustion. Users should upgrade to version 1.29.3, 1.28.2, 1.27.4, or 1.26.8 to mitigate the effects of the CONTINUATION flood. As a workaround, disable HTTP/2 protocol for downstream connections.

Envoy es un proxy de servicio y borde de código abierto, nativo de la nube. La pila de protocolos HTTP/2 en las versiones de Envoy anteriores a 1.29.3, 1.28.2, 1.27.4 y 1.26.8 son vulnerables al agotamiento de la CPU debido a la inundación de tramas de CONTINUACIÓN. El códec HTTP/2 de Envoy permite al cliente enviar un número ilimitado de tramas de CONTINUACIÓN incluso después de exceder los límites del mapa de encabezado de Envoy. Esto permite a un atacante enviar una secuencia de tramas CONTINUATION sin que el bit END_HEADERS esté configurado causando la utilización de la CPU, consumiendo aproximadamente 1 núcleo por cada 300 Mbit/s de tráfico y culminando en una denegación de servicio por agotamiento de la CPU. Los usuarios deben actualizar a la versión 1.29.3, 1.28.2, 1.27.4 o 1.26.8 para mitigar los efectos de la inundación de CONTINUACIÓN. Como workaround, deshabilite el protocolo HTTP/2 para conexiones descendentes.

A vulnerability was found in how Envoy Proxy implements the HTTP/2 codec. 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 resources to cause 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
Low
* Common Vulnerability Scoring System
SSVC
  • Decision:Attend
Exploitation
None
Automatable
Yes
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2024-03-26 CVE Reserved
  • 2024-04-04 CVE Published
  • 2024-04-09 First Exploit
  • 2024-05-02 EPSS Updated
  • 2024-08-02 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-390: Detection of Error Condition Without Action
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Envoyproxy
Search vendor "Envoyproxy"
Envoy
Search vendor "Envoyproxy" for product "Envoy"
>= 1.29.0 < 1.29.3
Search vendor "Envoyproxy" for product "Envoy" and version " >= 1.29.0 < 1.29.3"
en
Affected
Envoyproxy
Search vendor "Envoyproxy"
Envoy
Search vendor "Envoyproxy" for product "Envoy"
>= 1.28.0 < 1.28.2
Search vendor "Envoyproxy" for product "Envoy" and version " >= 1.28.0 < 1.28.2"
en
Affected
Envoyproxy
Search vendor "Envoyproxy"
Envoy
Search vendor "Envoyproxy" for product "Envoy"
>= 1.27.0 < 1.27.4
Search vendor "Envoyproxy" for product "Envoy" and version " >= 1.27.0 < 1.27.4"
en
Affected
Envoyproxy
Search vendor "Envoyproxy"
Envoy
Search vendor "Envoyproxy" for product "Envoy"
< 1.26.8
Search vendor "Envoyproxy" for product "Envoy" and version " < 1.26.8"
en
Affected