CVE-2021-32781 Continued processing of requests after locally generated response
Attackers can cause a denial of service in Envoy proxy by triggering a use-after-free condition when specific extensions modify request or response bodies.
- 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-32781?
CVE-2021-32781 is a high-severity use after free 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 after Envoy sends a locally generated response it must stop further processing of request or response data. However when local response is generated due the internal buffer overflow while request or response is processed by the filter chain the operation may not be stopped completely and result in accessing a freed memory block. A specifically constructed request delivered by an untrusted downstream or upstream peer in the presence of extensions that modify and increase the size of request or response bodies resulting in a Denial of Service when using extensions that modify and increase the size of request or response bodies, such as decompressor filter. Envoy versions 1.19.1, 1.18.4, 1.17.4, 1.16.5 contain fixes to address incomplete termination of request processing after locally generated response. As a workaround disable Envoy's decompressor, json-transcoder or grpc-web extensions or proprietary extensions that modify and increase the size of request or response bodies, if feasible.
Which versions are affected by CVE-2021-32781?
1 open source package ship an affected version, including envoy. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
envoy Bitnami | From 1.16.0 | 1.16.5, 1.17.4, 1.18.4, 1.19.1 |
Products include Envoyproxy Envoy.
How do I fix CVE-2021-32781?
Upgrade envoy to a fixed version for your release line: 1.16.5, 1.17.4, 1.18.4 or 1.19.1.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2021-32781 being exploited?
There is no known exploitation of CVE-2021-32781 in the wild and no public exploit code.
Other vulnerabilities in Envoyproxy Envoy
Sources
Also known as BIT-envoy-2021-32781, GHSA-5vhv-gp9v-42qv.