GHSA-mp85-7mrq-r866

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

En bref

Publiée
Mise à jour
CVE
CVE-2025-64527
Alias
BIT-envoy-2025-64527
CVSS_V3
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Description

### 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`

Paquets affectés

PaquetVersions
Go · github.com/envoyproxy/envoyintroduced 1.36.0, fixed 1.36.3
Go · github.com/envoyproxy/envoyintroduced 1.35.0, fixed 1.35.7
Go · github.com/envoyproxy/envoyintroduced 1.34.0, fixed 1.34.11
Go · github.com/envoyproxy/envoyintroduced 0, fixed 1.33.13

Références

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database