🇰🇷 한글 설명
Envoy는 클라우드 네이티브 오픈소스 엣지 및 서비스 프록시입니다. Envoy가 nlohmann JSON 라이브러리를 호출하는 방식 때문에, 불완전한 UTF-8 문자열이 직렬화되면 라이브러리가 하위(downstream) 데이터로부터 처리되지 않은 예외를 던질 수 있으며, 이로 인해 Envoy가 충돌합니다.
💡 쉬운 설명
Envoy라는 네트워크 프록시 프로그램이 잘못된 형식의 문자열을 처리하다가 예기치 않게 종료될 수 있는 취약점입니다. 공격자가 특수하게 조작된 데이터를 보내면 서비스가 중단될 수 있습니다.
🇺🇸 원문 (English)
Envoy is a cloud-native, open source edge and service proxy. Due to how Envoy invoked the nlohmann JSON library, the library could throw an uncaught exception from downstream data if incomplete UTF-8 strings were serialized. The uncaught exception would cause Envoy to crash.
📍 영향받는 시스템
Envoy 프록시 1.29.x 이전 버전 및 1.30.0 미만 버전 등 취약 버전을 사용하는 환경 (정확한 범위는 공지 확인 필요)
⚔️ 공격 벡터
원격 공격자가 불완전한 UTF-8 문자열을 포함한 조작된 요청을 Envoy로 전송하여 JSON 직렬화 과정에서 예외 및 프로세스 충돌(서비스 거부)을 유발
🛡️ 대응 방법
Envoy를 패치된 버전(공식 보안 권고에 명시된 수정 버전)으로 업그레이드
🔧 검증 코드
출력된 버전 번호를 CVE-2024-34363 보안 권고에 명시된 수정 버전과 비교하여, 설치 버전이 그보다 낮으면 취약하고 같거나 높으면 패치된 것입니다. 아무 출력이 없으면 Envoy가 설치되어 있지 않은 것입니다.
envoy --version 2>/dev/null || (dpkg -l envoy 2>/dev/null | grep -E '^ii')