🇰🇷 한글 설명
Envoy는 클라우드 네이티브 오픈소스 엣지 및 서비스 프록시이다. auto_sni가 활성화된 업스트림 TLS 클러스터를 사용할 때, 255자를 초과하는 host/:authority 헤더를 포함한 요청이 Envoy 프로세스의 비정상 종료를 유발한다. Envoy는 아웃바운드 TLS 연결의 SNI 설정 오류를 정상적으로 처리하지 못하며, 표준상 SNI 길이 제한(255자)을 넘는 헤더 값을 사용하려 할 때 이 문제가 발생한다. 이 취약점은 1.30.1, 1.29.4, 1.28.3, 1.27.5 버전에서 수정되었다.
💡 쉬운 설명
Envoy라는 네트워크 중계 프로그램이 매우 긴 주소 정보를 받으면 스스로 종료되는 결함이 있습니다. 공격자는 이를 이용해 서비스를 반복적으로 중단시킬 수 있습니다.
🇺🇸 원문 (English)
Envoy is a cloud-native, open source edge and service proxy. When an upstream TLS cluster is used with `auto_sni` enabled, a request containing a `host`/`:authority` header longer than 255 characters triggers an abnormal termination of Envoy process. Envoy does not gracefully handle an error when setting SNI for outbound TLS connection. The error can occur when Envoy attempts to use the `host`/`:authority` header value longer than 255 characters as SNI for outbound TLS connection. SNI length is limited to 255 characters per the standard. Envoy always expects this operation to succeed and abnormally aborts the process when it fails. This vulnerability is fixed in 1.30.1, 1.29.4, 1.28.3, and 1.27.5.
📍 영향받는 시스템
auto_sni가 활성화된 Envoy 1.27.5 미만, 1.28.3 미만, 1.29.4 미만, 1.30.1 미만 버전
⚔️ 공격 벡터
255자를 초과하는 host 또는 :authority 헤더를 포함한 HTTP 요청을 Envoy에 전송하여 프로세스를 강제 종료시킴
🛡️ 대응 방법
Envoy를 1.30.1, 1.29.4, 1.28.3, 1.27.5 이상 버전으로 업그레이드하고 auto_sni 사용 여부를 점검한다
🔧 검증 코드
출력된 버전이 1.27.5, 1.28.3, 1.29.4, 1.30.1 중 해당 минор 라인의 수정 버전 이상이면 패치된 것이고, 그보다 낮으면 취약한 버전이다.
envoy --version 2>/dev/null || (dpkg -l envoy 2>/dev/null | grep -E '^ii')