CVE-2024-45809

Envoy is a cloud-native high-performance edge/middle/service proxy. Jwt filter will lead to an Envoy crash when clear route cache with remote JWKs. In the following case: 1. remote JWKs are used, which requires async header processing; 2. clear_route_cache is enabled on the provider; 3. header operations are enabled in JWT filter, e.g. header to claims feature; 4. the routing table is configured in a way that the JWT header operations modify requests to not match any route. When these conditions are met, a crash is triggered in the upstream code due to nullptr reference conversion from route(). The root cause is the ordering of continueDecoding and clearRouteCache. This issue has been addressed in versions 1.31.2, 1.30.6, and 1.29.9. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*
cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*
cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*

History

24 Sep 2024, 20:12

Type Values Removed Values Added
References () https://github.com/envoyproxy/envoy/security/advisories/GHSA-wqr5-qmq7-3qw3 - () https://github.com/envoyproxy/envoy/security/advisories/GHSA-wqr5-qmq7-3qw3 - Third Party Advisory
CVSS v2 : unknown
v3 : 5.3
v2 : unknown
v3 : 7.5
CPE cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*
CWE CWE-476
First Time Envoyproxy
Envoyproxy envoy

20 Sep 2024, 12:30

Type Values Removed Values Added
Summary
  • (es) Envoy es un proxy de servicio/perímetro/medio de alto rendimiento nativo de la nube. El filtro JWT provocará un bloqueo de Envoy cuando se borre la caché de ruta con JWK remotos. En el siguiente caso: 1. se utilizan JWK remotos, lo que requiere procesamiento de encabezado asincrónico; 2. clear_route_cache está habilitado en el proveedor; 3. las operaciones de encabezado están habilitadas en el filtro JWT, por ejemplo, la función de encabezado a reclamos; 4. la tabla de enrutamiento está configurada de manera que las operaciones de encabezado JWT modifiquen las solicitudes para que no coincidan con ninguna ruta. Cuando se cumplen estas condiciones, se activa un bloqueo en el código ascendente debido a la conversión de referencia nullptr de route(). La causa principal es el orden de continueDecoding y clearRouteCache. Este problema se ha solucionado en las versiones 1.31.2, 1.30.6 y 1.29.9. Se recomienda a los usuarios que actualicen. No existen workarounds conocidas para esta vulnerabilidad.

20 Sep 2024, 00:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-09-20 00:15

Updated : 2024-09-24 20:12


NVD link : CVE-2024-45809

Mitre link : CVE-2024-45809

CVE.ORG link : CVE-2024-45809


JSON object : View

Products Affected

envoyproxy

  • envoy
CWE
CWE-476

NULL Pointer Dereference

CWE-119

Improper Restriction of Operations within the Bounds of a Memory Buffer