🇰🇷 한글 설명
Envoy 프록시의 PROXY Protocol v2 헤더 생성기에서 TLV 데이터가 최대 길이인 65535바이트를 초과하여 생성되는 취약점이 발견되었습니다. 이로 인해 헤더의 길이 필드와 실제 기록된 바이트 수 사이에 불일치가 발생하며, 업스트림 요청에 데이터가 숨겨지는 스머글링 현상이 발생할 수 있습니다.
💡 쉬운 설명
데이터를 전달할 때 규격보다 더 많은 정보를 담으려다 보니, 데이터의 실제 크기와 표시된 크기가 달라지는 문제가 있습니다. 이 차이를 이용해 공격자가 정상적인 요청 사이에 몰래 악성 데이터를 끼워 넣을 수 있습니다.
🇺🇸 원문 (English)
Envoy is an open source edge and service proxy designed for cloud-native applications. From 1.34.0 until 1.35.13, 1.36.9, 1.37.5, and 1.38.3, PROXY Protocol v2 header generator emits TLVs beyond the maximum length of 65535 bytes, causing a mismatch between bytes written and the length field in the header. This can result in smuggled bytes on the upstream request. This vulnerability is fixed in 1.35.13, 1.36.9, 1.37.5, and 1.38.3.
📍 영향받는 시스템
Envoy 1.34.0 ~ 1.35.12, 1.36.0 ~ 1.36.8, 1.37.0 ~ 1.37.4, 1.38.0 ~ 1.38.2
⚔️ 공격 벡터
조작된 PROXY Protocol v2 헤더를 통해 업스트림 요청에 데이터를 은닉하는 HTTP Request Smuggling 공격
🛡️ 대응 방법
Envoy를 수정된 버전인 1.35.13, 1.36.9, 1.37.5 또는 1.38.3 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 범위가 출력되면 해당 버전이 설치되어 있는 상태입니다.
envoy --version | grep -E 'v(1.34\.[0-9]+|1.35\.[0-12]|1.36\.[0-8]|1.37\.[0-4]|1.38\.[0-2])'