피드로 돌아가기
Dev.toSecurity
원문 읽기
Flannel 0.28.2 이전 버전의 실험적 Extension 백엔드에서 검증되지 않은 Kubernetes Node 주석을 셸에 전달하여 명령 주입 취약점 발생
CVE-2026-32241: CVE-2026-32241: Command Injection in Flannel Experimental Extension Backend
AI 요약
Context
Flannel의 실험적 Extension 백엔드는 Kubernetes Node 주석 데이터를 검증 없이 시스템 셸 래퍼를 통해 처리했다. Node 객체 수정 권한을 가진 공격자는 이를 악용하여 임의의 셸 명령을 주입할 수 있었다.
Technical Solution
- 셸 래퍼 제거: 시스템 셸을 거치지 않고 안전한 변수 확장을 사용하는 os/exec 라이브러리로 전환
- Flannel 데몬셋을 v0.28.2 이상으로 업그레이드
- 실험적 Extension 백엔드에서 vxlan 또는 wireguard 같은 안정적인 백엔드로 전환
- Kubernetes RBAC 권한 제한: Node 주석 수정 권한을 필요한 서비스만으로 제한
- 감사 로그 모니터링: flannel.alpha.coreos.com/backend-data 주석의 예상치 못한 수정 감시
Key Takeaway
입력 검증 없이 사용자 제어 데이터를 셸에 전달하는 것은 원격 코드 실행으로 이어지므로, 네트워크 기반 인프라 컴포넌트는 설정 데이터 처리 시 항상 직접 실행(direct execution) 방식을 사용해야 한다.
실천 포인트
Kubernetes 클러스터 운영 팀은 Flannel 설정에서 실험적 Extension 백엔드 사용 여부를 즉시 확인하고, 사용 중이라면 v0.28.2로 업그레이드한 후 필요하지 않으면 vxlan으로 변경하며, Node 주석 수정 권한을 최소 권한 원칙에 따라 제한하면 CWE-77 명령 주입 공격으로부터 호스트 root 접근을 차단할 수 있다.