Cilium
v1.17.16Networking & Messagingv1.17.16은 CiliumLocalRedirectPolicy의 네임스페이스 간 트래픽 하이재킹 취약점, IPsec 에이전트 패닉, 스태틱 파드 ID 해석 오류를 수정한 패치 릴리스입니다.
security업그레이드 전 LRP addressMatcher 설정 점검 필수
이번 LRP addressMatcher 변경은 실제 공격 경로를 막은 것입니다. 기존에는 한 네임스페이스의 정책이 다른 네임스페이스의 Service 프론트엔드를 덮어쓰고 트래픽을 가로챌 수 있었습니다. 업그레이드 후에는 기존 Service 프론트엔드와 겹치는 addressMatcher를 가진 LRP가 조용히 동작을 멈춥니다 — 트래픽 리다이렉션이 예상대로 작동하지 않을 수 있습니다. 업그레이드 전에 모든 CiliumLocalRedirectPolicy 오브젝트의 addressMatcher 항목이 기존 Service와 충돌하는지 확인하세요. 기존 동작이 꼭 필요하다면 --enable-lrp-address-matcher-override=true 플래그를 사용할 수 있지만, 이는 임시 방편으로만 쓰고 정책을 재설계하는 것이 맞습니다.
securityIPsec 사용 중이라면 즉시 업그레이드 — 에이전트 크래시 위험
parseSPI 패닉 취약점은 잘못된 형식의 IPsec 패킷 하나로 Cilium 에이전트를 크래시시킬 수 있어, 해당 노드의 네트워킹 전체가 다운될 수 있습니다. IPsec 투명 암호화를 사용하는 클러스터라면 단순한 서비스 거부(DoS) 위험이 됩니다. 복잡한 공격 기법이 필요 없기 때문에 IPsec 환경이라면 v1.17.16으로 빠르게 업그레이드하세요.
breakingLRP addressMatcher 동작 변경 — 하위 호환성 없음
단순한 버그 수정이 아닌 동작 방식 자체가 바뀐 변경입니다. Service ClusterIP나 외부 IP와 겹치는 addressMatcher를 사용하는 LRP는 이전에는 동작했더라도 이제는 거부되거나 무시됩니다. 운영 환경에 적용하기 전에 반드시 비운영 환경에서 LRP 설정을 검증하세요. --enable-lrp-address-matcher-override=true 플래그로 이전 동작을 되살릴 수는 있지만, 그것은 취약점이 있는 동작을 다시 허용하는 셈임을 명심하세요.
주요 변경 (5)
- CiliumLocalRedirectPolicy addressMatcher가 기존 Service 프론트엔드 덮어쓰기를 차단 — 네임스페이스 간 트래픽 하이재킹 및 서비스 맵 손상 방지, 기존 동작은 별도 플래그로 복원 가능
- IPsec: 잘못된 형식의 SPI 입력 처리 시 parseSPI에서 발생하던 패닉 수정 — 에이전트 크래시 위험 제거
- CNI 파드 UID가 쿠버네티스 미러 파드 UID와 다른 스태틱 파드의 엔드포인트 ID 해석 오류 수정
- CiliumNode 동기화 관련 클러스터 풀 IPAM 메트릭이 쿠버네티스에 제대로 등록되지 않던 문제 수정
- 보안 의존성 업데이트: moby/spdystream v0.5.1로 업그레이드 (보안 패치)