CVE-2024-45809: Jwt filter crash in the clear route cache with remote JWKs in envoy
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. clearroutecache 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.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2024-45809?
CVE-2024-45809 has a high severity as it can lead to a crash of the Envoy service.
How do I fix CVE-2024-45809?
To fix CVE-2024-45809, you should upgrade Envoy to versions 1.29.9, 1.30.6, or 1.31.2 or later.
What are the affected versions for CVE-2024-45809?
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.
What conditions lead to the crash in CVE-2024-45809?
The crash occurs when remote JWKs are used with clear_route_cache enabled while requiring async header processing.
Is there a workaround for CVE-2024-45809?
A temporary workaround for CVE-2024-45809 is to disable the clear_route_cache feature if using remote JWKs.