CVE-2024-30255 HTTP/2: CPU exhaustion due to CONTINUATION frame flood
Attackers can cause CPU exhaustion and denial of service in Envoy proxy by flooding HTTP/2 CONTINUATION frames, requiring an upgrade to mitigate.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-30255?
CVE-2024-30255 is a medium-severity denial of service vulnerability in Envoyproxy Envoy, published on 4 Apr 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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.
Weakness: CWE-390
Which versions are affected by CVE-2024-30255?
1 open source package ship an affected version, including envoy. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
envoy Bitnami | All versions | 1.26.8, 1.27.4, 1.28.2, 1.29.3 |
Products include Envoyproxy Envoy.
How do I fix CVE-2024-30255?
Upgrade envoy to a fixed version for your release line: 1.26.8, 1.27.4, 1.28.2 or 1.29.3.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2024-30255 being exploited?
There is no known exploitation of CVE-2024-30255 in the wild and no public exploit code.
Public exploit code: 1 proofs of concept on GitHub.
Other vulnerabilities in Envoyproxy Envoy
Sources
Also known as BIT-envoy-2024-30255, GHSA-j654-3ccm-vfmm.