🇰🇷 한글 설명
Envoy 프록시에서 ignore_path_parameters_in_path_matching 설정이 활성화된 경우, 라우터와 RBAC URL 경로 매칭 간의 경로 정규화 불일치가 발생합니다. 공격자가 세미콜론을 포함한 경로(/admin;x)를 사용하여 DENY 규칙을 우회하고 보호된 백엔드에 접근할 수 있는 권한 부여 우회 취약점입니다.
💡 쉬운 설명
웹사이트의 주소를 검사하는 규칙과 실제 연결하는 규칙이 서로 다르게 작동하여 발생하는 보안 구멍입니다. 주소 뒤에 특정 기호를 붙여 보안 검사를 교묘하게 통과한 뒤 금지된 페이지에 접속할 수 있습니다.
🇺🇸 원문 (English)
Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to 1.36.10, 1.37.6, 1.38.4, and 1.39.1, When ignore_path_parameters_in_path_matching is enabled, Envoy's router strips the semicolon suffix before matching but the RBAC url_path matcher evaluates the raw path. A downstream request such as /admin;x can therefore miss a DENY rule for /admin while the router still selects the protected /admin backend. The inconsistent canonicalization allows an unauthenticated client to bypass path-based authorization. The relevant scope boundary is that the route option and a path-based RBAC rule must both be present, and the protected route must match after stripping. This issue is fixed in versions 1.36.10, 1.37.6, 1.38.4, and 1.39.1.
📍 영향받는 시스템
Envoy versions prior to 1.36.10, 1.37.6, 1.38.4, and 1.39.1
⚔️ 공격 벡터
세미콜론(;)을 포함한 특수 경로를 사용하여 RBAC 경로 기반 인증 규칙을 우회하는 방식
🛡️ 대응 방법
Envoy를 수정된 버전인 1.36.10, 1.37.6, 1.38.4 또는 1.39.1 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 수정된 버전 번호가 포함되어 있으면 취약점이 해결된 상태입니다.
envoy --version | grep -E 'v(1.36.10|1.37.6|1.38.4|1.39.1)'