~ / search / GHSA-mp85-7mrq-r866

GHSA-mp85-7mrq-r866

Envoy crashes when JWT authentication is configured with the remote JWKS fetching

Source: GitHub Advisory Database (reviewed) Moderate CVE-2025-64527

Packages

EcosystemPackageAffectedFixed in
Go github.com/envoyproxy/envoy >= 1.36.0, < 1.36.3 1.36.3
Go github.com/envoyproxy/envoy >= 1.35.0, < 1.35.7 1.35.7
Go github.com/envoyproxy/envoy >= 1.34.0, < 1.34.11 1.34.11
Go github.com/envoyproxy/envoy < 1.33.13 1.33.13

Details

As written in the advisory (Markdown source, shown as plain text).

### Summary Envoy crashes when JWT authentication is configured with the remote JWKS fetching, `allow_missing_or_failed` is enabled, multiple JWT tokens are present in the request headers and the JWKS fetch fails. ### Details This is caused by a re-entry bug in the `JwksFetcherImpl`. When the first token's JWKS fetch fails, `onJwksError()` callback triggers processing of the second token, which calls fetch() again on the same fetcher object. The original callback's reset() then clears the second fetch's state (`receiver_ and request_`) which causes a crash when the async HTTP response arrives. ### PoC * `allow_missing_or_failed` or `allow_missing` is enabled * The client send 2 Authorization headers * the remote JWKS fetching failed * There will be crash ### Impact DoS and Crash ### Mitigation * Disable the `allow_missing_or_failed` or `allow_missing`

References

External links from the advisory. They lead to third-party sites.