CVE-2021-32780 Incorrect handling of H/2 GOAWAY followed by SETTINGS frames

High 8.6 Published Updated

An attacker controlling an upstream server can cause Envoy to crash by sending specific HTTP/2 frames, resulting in a denial of service.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2021-32780?

CVE-2021-32780 is a high-severity denial of service vulnerability in Envoyproxy Envoy, published on 24 Aug 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Envoy is an open source L7 proxy and communication bus designed for large modern service oriented architectures. In affected versions Envoy transitions a H/2 connection to the CLOSED state when it receives a GOAWAY frame without any streams outstanding. The connection state is transitioned to DRAINING when it receives a SETTING frame with the SETTINGS_MAX_CONCURRENT_STREAMS parameter set to 0. Receiving these two frames in the same I/O event results in abnormal termination of the Envoy process due to invalid state transition from CLOSED to DRAINING. A sequence of H/2 frames delivered by an untrusted upstream server will result in Denial of Service in the presence of untrusted **upstream** servers. Envoy versions 1.19.1, 1.18.4 contain fixes to stop processing of pending H/2 frames after connection transition to the CLOSED state.

Weakness: CWE-754

Which versions are affected by CVE-2021-32780?

1 open source package ship an affected version, including envoy. It affects 1 product.

PackageAffectedFixed in
envoy BitnamiFrom 1.18.01.18.4, 1.19.1

Products include Envoyproxy Envoy.

How do I fix CVE-2021-32780?

Upgrade envoy to a fixed version for your release line: 1.18.4 or 1.19.1.

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-2021-32780 being exploited?

There is no known exploitation of CVE-2021-32780 in the wild and no public exploit code.

All Envoyproxy Envoy vulnerabilities

Sources

Also known as BIT-envoy-2021-32780, GHSA-j374-mjrw-vvp8.

Is CVE-2021-32780 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free