Vulnerability in Envoyproxy Envoy

CVE-2021-32778

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.

EPSS: 0.012 (65.8th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 5.8 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:L.

Affected products

  • Envoyproxy Envoy — versions >= 1.19.0, < 1.19.1, >= 1.16.0, < 1.16.5, >= 1.17.0, < 1.17.4

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2021-32778?
CVE-2021-32778 is a medium-severity vulnerability in Envoyproxy Envoy, classified under Excessive Iteration. CVSS score: 5.8/10. Published 2021-08-24.
How severe is CVE-2021-32778?
Medium severity. CVSS v3 base score is 5.8 out of 10.
Is CVE-2021-32778 known to be exploited?
1 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.