Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-mp85-7mrq-r866

Опубликовано: 05 дек. 2025
Источник: github
Github: Прошло ревью
CVSS3: 6.5

Описание

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

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

Пакеты

Наименование

github.com/envoyproxy/envoy

go
Затронутые версииВерсия исправления

>= 1.36.0, <= 1.36.2

1.36.3

Наименование

github.com/envoyproxy/envoy

go
Затронутые версииВерсия исправления

>= 1.35.0, <= 1.35.6

1.35.7

Наименование

github.com/envoyproxy/envoy

go
Затронутые версииВерсия исправления

>= 1.34.0, <= 1.34.10

1.34.11

Наименование

github.com/envoyproxy/envoy

go
Затронутые версииВерсия исправления

<= 1.33.12

1.33.13

EPSS

Процентиль: 0%
0.00003
Низкий

6.5 Medium

CVSS3

Дефекты

CWE-476

Связанные уязвимости

CVSS3: 6.5
nvd
2 месяца назад

Envoy is a high-performance edge/middle/service proxy. In 1.33.12, 1.34.10, 1.35.6, 1.36.2, and earlier, 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. 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.

CVSS3: 6.5
debian
2 месяца назад

Envoy is a high-performance edge/middle/service proxy. In 1.33.12, 1.3 ...

EPSS

Процентиль: 0%
0.00003
Низкий

6.5 Medium

CVSS3

Дефекты

CWE-476