🇰🇷 한글 설명
Envoy 프록시의 RBAC 필터에서 동일한 이름의 HTTP 헤더가 여러 개 존재할 때 이를 개별적으로 검증하지 않고 쉼표로 연결하여 처리하는 로직 결함이 발견되었습니다. 공격자는 중복 헤더를 사용하여 'Deny' 규칙을 우회하고 권한이 없는 요청을 수행할 수 있습니다. 이 문제는 Envoy 1.37.1, 1.36.5, 1.35.8, 1.34.13 버전에서 수정되었습니다.
💡 쉬운 설명
보안 검사를 할 때 여러 개의 이름표가 붙은 데이터를 하나로 뭉쳐서 확인하는 실수가 있었습니다. 공격자는 이 점을 이용해 가짜 이름표를 섞어 보내 보안 규칙을 몰래 통과할 수 있습니다.
🇺🇸 원문 (English)
Envoy is a high-performance edge/middle/service proxy. Prior to 1.37.1, 1.36.5, 1.35.8, and 1.34.13, the Envoy RBAC (Role-Based Access Control) filter contains a logic vulnerability in how it validates HTTP headers when multiple values are present for the same header name. Instead of validating each header value individually, Envoy concatenates all values into a single comma-separated string. This behavior allows attackers to bypass RBAC policies—specifically "Deny" rules—by sending duplicate headers, effectively obscuring the malicious value from exact-match mechanisms. This vulnerability is fixed in 1.37.1, 1.36.5, 1.35.8, and 1.34.13.
📍 영향받는 시스템
Envoy Proxy (1.37.1, 1.36.5, 1.35.8, 1.34.13 미만 버전)
⚔️ 공격 벡터
동일한 이름의 HTTP 헤더를 여러 개 전송하여 RBAC 정책의 검증 로직을 우회
🛡️ 대응 방법
Envoy를 최신 수정 버전(1.37.1, 1.36.5, 1.35.8, 1.34.13 이상)으로 업데이트
🔧 검증 코드
명령어 실행 결과로 수정된 버전 번호가 출력되면 취약점이 해결된 상태입니다.
envoy --version | grep -E 'v(1\.37\.[1-9]|1\.36\.[5-9]|1\.35\.[8-9]|1\.34\.[1-3][0-9])'