🔍 CVE-2024-45806

6.5
CVSS Score
MEDIUM
2024-09-20
2026-06-17 07:54
✅ 완료

🇰🇷 한글 설명

Envoy 프록시가 RFC1918 사설 IP 대역을 기본적으로 내부 네트워크로 간주하여 발생하는 보안 취약점입니다. 외부 클라이언트가 Envoy 헤더를 조작하여 권한 없는 접근을 시도하거나 서비스 메시 내에서 악의적인 동작을 수행할 수 있습니다. 이 문제는 Envoy의 내부 신뢰 경계 설정 방식 때문에 발생하며, 최신 버전으로 업데이트하여 해결할 수 있습니다.

💡 쉬운 설명

프록시 서버가 특정 IP 주소를 무조건 '안전한 내부 사용자'로 착각하여 보안 검사를 건너뛰는 문제입니다. 공격자가 이 점을 이용해 마치 내부 직원인 것처럼 속여 시스템에 침입할 수 있습니다.

🇺🇸 원문 (English)

Envoy is a cloud-native high-performance edge/middle/service proxy. A security vulnerability in Envoy allows external clients to manipulate Envoy headers, potentially leading to unauthorized access or other malicious actions within the mesh. This issue arises due to Envoy's default configuration of internal trust boundaries, which considers all RFC1918 private address ranges as internal. The default behavior for handling internal addresses in Envoy has been changed. Previously, RFC1918 IP addresses were automatically considered internal, even if the internal_address_config was empty. The default configuration of Envoy will continue to trust internal addresses while in this release and it will not trust them by default in next release. If you have tooling such as probes on your private network which need to be treated as trusted (e.g. changing arbitrary x-envoy headers) please explicitly include those addresses or CIDR ranges into `internal_address_config`. Successful exploitation could allow attackers to bypass security controls, access sensitive data, or disrupt services within the mesh, like Istio. This issue has been addressed in versions 1.31.2, 1.30.6, 1.29.9, and 1.28.7. Users are advised to upgrade. There are no known workarounds for this vulnerability.

📍 영향받는 시스템

Envoy versions prior to 1.31.2, 1.30.6, 1.29.9, and 1.28.7

⚔️ 공격 벡터

외부 클라이언트가 조작된 헤더를 전송하여 Envoy의 내부 신뢰 경계 설정을 우회하는 방식

🛡️ 대응 방법

Envoy를 보안 패치가 적용된 버전(1.31.2, 1.30.6, 1.29.9, 1.28.7 이상)으로 즉시 업그레이드하십시오.

🔧 검증 코드

출력된 버전이 패치된 최소 버전(1.31.2, 1.30.6, 1.29.9, 1.28.7)보다 낮거나 일치하지 않으면 취약할 수 있습니다.

Shell / Script
envoy --version 2>/dev/null | grep -E 'v(1\.(31\.[2-9]|[30]\.[6-9]|[29]\.[9-9]|[28]\.[7-9])|1\.[27]\.)' || echo 'Vulnerable or Unknown'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

💻 영향받는 소프트웨어

Cloud Services