First published: Thu Sep 19 2024(Updated: )
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.
Credit: security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
Envoy Proxy | >=1.29.0<1.29.9 | |
Envoy Proxy | >=1.30.0<1.30.6 | |
Envoy Proxy | >=1.31.0<1.31.2 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2024-45809 has a high severity as it can lead to a crash of the Envoy service.
To fix CVE-2024-45809, you should upgrade Envoy to versions 1.29.9, 1.30.6, or 1.31.2 or later.
CVE-2024-45809 affects Envoy versions from 1.29.0 to 1.29.9, 1.30.0 to 1.30.6, and 1.31.0 to 1.31.2.
The crash occurs when remote JWKs are used with clear_route_cache enabled while requiring async header processing.
A temporary workaround for CVE-2024-45809 is to disable the clear_route_cache feature if using remote JWKs.