🔍 CVE-2025-64527

6.5
CVSS Score
MEDIUM
2025-12-03
2026-09-25 23:10
✅ 완료

🇰🇷 한글 설명

Envoy 프록시에서 원격 JWKS를 사용하는 JWT 인증 설정 시, JWKS 가져오기 실패와 다중 JWT 토큰이 결합될 경우 재진입 버그로 인해 시스템이 충돌합니다. 첫 번째 토큰의 JWKS 요청 실패 시 발생하는 콜백이 두 번째 토큰의 상태를 초기화하여 비동기 응답 처리 중 크래시를 유발합니다.

💡 쉬운 설명

인증 정보를 확인하는 과정에서 오류가 발생했을 때, 여러 개의 인증 정보가 동시에 들어오면 프로그램이 처리 방법을 몰라 갑자기 꺼지는 문제입니다. 공격자가 의도적으로 잘못된 인증 정보를 보내 시스템을 멈추게 할 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Envoy 1.33.12, 1.34.10, 1.35.6, 1.36.2 및 이전 버전

⚔️ 공격 벡터

JWKS 가져오기가 실패하도록 유도한 상태에서 헤더에 여러 개의 JWT 토큰을 포함하여 요청 전송

🛡️ 대응 방법

Envoy를 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

출력된 Envoy의 버전이 취약한 버전 범위(1.33.12, 1.34.10, 1.35.6, 1.36.2 이하)에 해당하는지 확인

Shell / Script
envoy --version 2>/dev/null || dpkg -l | grep envoy

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Envoy