Improper Restriction of Operations within the Bounds of a Memory Buffer
CVE-2024-45809
Summary
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 affects versions 1.29.x prior to 1.29.9, 1.30.x prior to 1.30.6 & 1.31.x prior to 1.31.2.
- LOW
- NETWORK
- NONE
- UNCHANGED
- NONE
- NONE
- NONE
- HIGH
CWE-119 - Buffer Overflow
Buffer overflow attacks involve data transit and operations exceeding the restricted memory buffer, thereby corrupting or overwriting data in adjacent memory locations. Such overflow allows the attacker to run arbitrary code or manipulate the existing code to cause privilege escalation, data breach, denial of service, system crash and even complete system compromise. Given that languages such as C and C++ lack default safeguards against overwriting or accessing data in their memory, applications utilizing these languages are most susceptible to buffer overflows attacks.
References
Advisory Timeline
- Published