Skip to content
OpenAdvisories
Medium · 5.8 CVE-2021-32778 EUVD-2021-19542

Excessive CPU utilization when closing HTTP/2 streams

Published Aug 24, 2021 · Updated Aug 3, 2024 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
envoyproxy envoy >= 1.19.0, < 1.19.1, >= 1.18.0, < 1.18.4, >= 1.17.0, < 1.17.4, >= 1.16.0, < 1.16.5 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Red Hat Service Mesh 2 servicemesh +3 2.1.0-5.el8 RHEA-2021:4051
Red Hat Service Mesh 2 servicemesh-grafana 7.2.1-2.el8 RHEA-2021:4051
Red Hat Service Mesh 2 servicemesh-operator 2.1.0-4.el8 RHEA-2021:4051
Red Hat Service Mesh 2 servicemesh-prometheus 2.23.0-1.el8 RHEA-2021:4051
Red Hat Service Mesh 2 servicemesh-proxy +1 2.1.0-13.el8 RHEA-2021:4051
Red Hat Service Mesh 2 servicemesh-ratelimit 2.1.0-1.el8 RHEA-2021:4051

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 8 istio +1 1.10.4-3.el8 ELSA-2021-9546
Oracle Linux 8 kubeadm +2 1.20.11-4.el8 ELSA-2021-9546
Oracle Linux 8 olcnectl +8 1.3.2-2.el8 ELSA-2021-9546
Oracle Linux 7 istio +3 1.9.8-3.el8 ELSA-2021-9526, ELSA-2021-9525
Oracle Linux 7 kubeadm +2 1.20.11-4.el7 ELSA-2021-9526
Oracle Linux 7 olcne-olm-chart +1 1.3.2-2.el7 ELSA-2021-9526
Oracle Linux 7 olcnectl +6 1.2.5-2.el8 ELSA-2021-9526, ELSA-2021-9525

Advisories 4

References