Skip to content

Continued processing of requests after locally generated response

High
lizan published GHSA-5vhv-gp9v-42qv Aug 24, 2021

Package

No package listed

Affected versions

1.19.0, 1.18.3, 1.17.3, 1.16.4

Patched versions

1.19.1, 1.18.4, 1.17.4, 1.16.5

Description

CVSS score 8.6 (High), Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H

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.

Impact

Denial of Service when using extensions that modify and increase the size of request or response bodies, such as decompressor filter.

Attack Vector

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.

Patches

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.

Workarounds

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.

Credits

Raul Gutierrez Segales rgs@pinterest.com

References

https://blog.envoyproxy.io
https://github.com/envoyproxy/envoy/releases

For more information

If you have any questions or comments about this advisory:

Open an issue in Envoy repo
Email us at envoy-security

Severity

High

CVE ID

CVE-2021-32781

Weaknesses

Credits