CVE-2024-30255
HTTP/2: CPU exhaustion due to CONTINUATION frame flood
Em resumo
O proxy Envoy é vulnerável a um ataque que sobrecarrega o servidor com frames CONTINUATION do HTTP/2, causando alto uso de CPU e indisponibilidade do serviço. Isso ocorre porque o Envoy não limita adequadamente esses frames mesmo após exceder seus limites de tamanho de cabeçalho.
Detalhe técnico
O codec HTTP/2 no Envoy anterior às versões 1.29.3, 1.28.2, 1.27.4 e 1.26.8 não aplica limites adequados a frames CONTINUATION sem o bit END_HEADERS, permitindo que atacantes remotos não autenticados enviem frames ilimitados que consomem aproximadamente 1 núcleo de CPU por 300Mbit/s de tráfego malicioso. O vetor de ataque é pela rede e não requer autenticação, resultando em esgotamento de CPU e negação de serviço.
Resumo gerado e traduzido por IA a partir da descrição oficial.
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.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L