CVE Vulnerabilities

CVE-2021-32778

Excessive Iteration

Published: Aug 24, 2021 | Modified: Jun 15, 2022
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
7.5 IMPORTANT
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu

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.

Weakness

The product performs an iteration or loop without sufficiently limiting the number of times that the loop is executed.

Affected Software

Name Vendor Start Version End Version
Envoy Envoyproxy 1.16.0 (including) 1.16.5 (excluding)
Envoy Envoyproxy 1.17.0 (including) 1.17.4 (excluding)
Envoy Envoyproxy 1.18.0 (including) 1.18.4 (excluding)
Envoy Envoyproxy 1.19.0 (including) 1.19.0 (including)
OpenShift Service Mesh 2.1 RedHat servicemesh-0:2.1.0-5.el8 *
OpenShift Service Mesh 2.1 RedHat servicemesh-grafana-0:7.2.1-2.el8 *
OpenShift Service Mesh 2.1 RedHat servicemesh-operator-0:2.1.0-4.el8 *
OpenShift Service Mesh 2.1 RedHat servicemesh-prometheus-0:2.23.0-1.el8 *
OpenShift Service Mesh 2.1 RedHat servicemesh-proxy-0:2.1.0-13.el8 *
OpenShift Service Mesh 2.1 RedHat servicemesh-ratelimit-0:2.1.0-1.el8 *

References