Excessive CPU utilization when closing HTTP/2 streams
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 1 fixed, 2 without a fix
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and Red Hat.
Summary
Envoy is an open source L7 proxy and communication bus designed for large modern service oriented architectures. In affected versions envoy’s procedure for resetting a HTTP/2 stream has O(N^2) complexity, leading to high CPU utilization when a large number of streams are reset. Deployments are susceptible to Denial of Service when Envoy is configured with high limit on H/2 concurrent streams. An attacker wishing to exploit this vulnerability would require a client opening and closing a large number of H/2 streams. Envoy versions 1.19.1, 1.18.4, 1.17.4, 1.16.5 contain fixes to reduce time complexity of resetting HTTP/2 streams. As a workaround users may limit the number of simultaneous HTTP/2 dreams for upstream and downstream peers to a low number, i.e. 100.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| envoyproxy | envoy | 1.19.0 to before 1.19.1; 1.18.0 to before 1.18.4; 1.17.0 to before 1.17.4; 1.16.0 to before 1.16.5 | 1.19.1, 1.18.4, 1.17.4, 1.16.5 | Patch available | CNA |
- envoy Vendorenvoyproxy Affected 1.19.0 to before 1.19.1; 1.18.0 to before 1.18.4; 1.17.0 to before 1.17.4; 1.16.0 to before 1.16.5 Fixed in 1.19.1, 1.18.4, 1.17.4, 1.16.5 Patch available CNA
CPE configurations NVD · 2
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* | 1.16.0 to before 1.16.5; 1.17.0 to before 1.17.4; 1.18.0 to before 1.18.4 | Vulnerable | envoyproxy |
| cpe:2.3:a:envoyproxy:envoy:1.19.0:*:*:*:*:*:*:* | 1.19.0 | Vulnerable | envoyproxy |
- cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* Versions 1.16.0 to before 1.16.5; 1.17.0 to before 1.17.4; 1.18.0 to before 1.18.4 Vulnerable ·envoyproxy
- cpe:2.3:a:envoyproxy:envoy:1.19.0:*:*:*:*:*:*:* Versions 1.19.0 Vulnerable ·envoyproxy
Remediation
- Fix · CNA envoy (envoyproxy) Fixed in 1.19.1, 1.18.4, 1.17.4, 1.16.5
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| OpenShift Service Mesh 1 | Affected | No fix yet |
| OpenShift Service Mesh 2.0 | Affected | No fix yet |
| OpenShift Service Mesh 2.1 | Fixed | — |
Timeline
- 2026-10-02 Threatist record created from CVE-2021-32778
References
More envoyproxy Envoy vulnerabilities
- TI-2026-79288 Out-of-bounds write in Google Brotli decoder KEVCVSS 4.0CRITICAL 9.2
- TI-2023-23979 The HTTP/2 protocol allows a denial of service (server resource consumption) because… KEVCVSS 3.1HIGH 7.5
- TI-2024-20001 HTTP/2: CPU exhaustion due to CONTINUATION frame flood CVSS 3.1HIGH 7.5
- TI-2024-18524 HTTP/2: memory exhaustion due to CONTINUATION frame flood CVSS 3.1HIGH 7.5
- TI-2023-12215 Envoy client may fake the header `x-envoy-original-path` CVSS 3.1CRITICAL 9.1
- TI-2023-18002 Envoy vulnerable to OAuth2 credentials exploit with permanent validity CVSS 3.1CRITICAL 9.8
Sources
- CVE-2021-32778 · CVE Program
- CVE-2021-32778 · NVD
- FIRST EPSS
- CVE-2021-32778 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences