🇰🇷 한글 설명
Cilium의 Per-Endpoint Routing이 활성화되어 있고 BPF Host Routing이 비활성화된 환경에서, 동일 노드의 로컬 백엔드 L7 서비스로 향하는 트래픽에 대해 Ingress 네트워크 정책이 적용되지 않는 취약점입니다. 특히 AWS EKS의 Cilium ENI 모드와 같은 클라우드 IPAM 사용 환경에서 발생할 가능성이 높습니다.
💡 쉬운 설명
네트워크 보안 규칙이 특정 상황에서 제대로 작동하지 않아, 허용되지 않은 통신이 차단되지 않고 통과될 수 있는 문제입니다. 주로 클라우드 환경에서 특정 설정이 켜져 있을 때 발생합니다.
🇺🇸 원문 (English)
Cilium is a networking, observability, and security solution with an eBPF-based dataplane. Prior to versions 1.17.14, 1.18.8, and 1.19.2, Ingress Network Policies are not enforced for traffic from pods to L7 Services (Envoy, GAMMA) with a local backend on the same node, when Per-Endpoint Routing is enabled and BPF Host Routing is disabled. Per-Endpoint Routing is disabled by default, but is automatically enabled in deployments using cloud IPAM, including Cilium ENI on EKS (`eni.enabled`), AlibabaCloud ENI (`alibabacloud.enabled`), Azure IPAM (`azure.enabled`, but not AKS BYOCNI), and some GKE deployments (`gke.enabled`; managed offerings such as GKE Dataplane V2 may use different defaults). It is typically not enabled in tunneled deployments, and chaining deployments are not affected. In practice, Amazon EKS with Cilium ENI mode is likely the most common affected environment. Versions 1.17.14, 1.18.8, and 1.19.2 contain a patch. There is currently no officially verified or comprehensive workaround for this issue. The only option would be to disable per-endpoint routes, but this will likely cause disruptions to ongoing connections, and potential conflicts if running in cloud providers.
📍 영향받는 시스템
Cilium versions prior to 1.17.14, 1.18.8, and 1.19.2
⚔️ 공격 벡터
동일 노드 내 로컬 백엔드 L7 서비스를 대상으로 네트워크 정책을 우회하여 비인가 트래픽 전송
🛡️ 대응 방법
Cilium을 패치된 버전(1.17.14, 1.18.8, 1.19.2 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 Cilium 버전이 패치된 버전(1.17.14, 1.18.8, 1.19.2)보다 낮으면 취약한 상태입니다.
cilium version | grep -E 'v(1\.17\.(?![0-9]*14))|v(1\.18\.(?![0-9]*8))|v(1\.19\.(?![0-9]*2))'