// For flags

CVE-2021-32781

Continued processing of requests after locally generated response

Severity Score

7.5
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

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.

Envoy es un proxy L7 de código abierto y un bus de comunicación diseñado para grandes arquitecturas modernas orientadas a servicios. En las versiones afectadas, después de que Envoy envíe una respuesta generada localmente, debe detener el procesamiento posterior de los datos de la petición o la respuesta. Sin embargo, cuando la respuesta local es generada debido al desbordamiento del búfer interno mientras la petición o la respuesta es procesada por la cadena de filtrado, la operación puede no detenerse completamente y resultar en el acceso a un bloque de memoria liberado. Una petición construida específicamente y entregada por un peer descendente o ascendente que no es confiable en presencia de extensiones que modifican y aumentan el tamaño de los cuerpos de la petición o la respuesta, resultando en una Denegación de Servicio cuando son usadas extensiones que modifican y aumentan el tamaño de los cuerpos de la petición o la respuesta, como el filtro descompresor. Envoy versiones 1.19.1, 1.18.4, 1.17.4 y 1.16.5, contienen correcciones para solucionar la terminación incompleta del procesamiento de peticiones tras la respuesta generada localmente. Como solución, deshabilite las extensiones decompressor, json-transcoder o grpc-web de Envoy o las extensiones propietarias que modifican y aumentan el tamaño de los cuerpos de las peticiones o respuestas, si es posible.

An out-of-bounds memory read vulnerability was found in envoyproxy/envoy. When using one of the following envoy extensions, it is possible to modify and increase the request or response body size of the following: the decompressor, json-transcoder, grpc-web, or other proprietary extensions. This flaw allows an attacker to read invalid memory and cause envoy to crash, resulting in a denial of service. The highest threat from this vulnerability is to system availability.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
None
Availability
High
Attack Vector
Network
Attack Complexity
Low
Authentication
None
Confidentiality
None
Integrity
None
Availability
Partial
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2021-05-12 CVE Reserved
  • 2021-08-24 CVE Published
  • 2024-05-09 EPSS Updated
  • 2024-08-03 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-120: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
  • CWE-416: Use After Free
  • CWE-476: NULL Pointer Dereference
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Envoyproxy
Search vendor "Envoyproxy"
Envoy
Search vendor "Envoyproxy" for product "Envoy"
>= 1.16.0 < 1.16.5
Search vendor "Envoyproxy" for product "Envoy" and version " >= 1.16.0 < 1.16.5"
-
Affected
Envoyproxy
Search vendor "Envoyproxy"
Envoy
Search vendor "Envoyproxy" for product "Envoy"
>= 1.17.0 < 1.17.4
Search vendor "Envoyproxy" for product "Envoy" and version " >= 1.17.0 < 1.17.4"
-
Affected
Envoyproxy
Search vendor "Envoyproxy"
Envoy
Search vendor "Envoyproxy" for product "Envoy"
>= 1.18.0 < 1.18.4
Search vendor "Envoyproxy" for product "Envoy" and version " >= 1.18.0 < 1.18.4"
-
Affected
Envoyproxy
Search vendor "Envoyproxy"
Envoy
Search vendor "Envoyproxy" for product "Envoy"
1.19.0
Search vendor "Envoyproxy" for product "Envoy" and version "1.19.0"
-
Affected