🇰🇷 한글 설명
Kubernetes kubelet의 특정 버전에서 Pod가 자신의 /etc/hosts 파일에 데이터를 작성할 때 발생하는 디스크 사용량을 계산하지 못하는 취약점입니다. 이로 인해 Pod가 /etc/hosts 파일에 대량의 데이터를 기록할 경우 노드의 저장 공간이 가득 차서 노드 전체가 실패할 수 있습니다.
💡 쉬운 설명
특정 프로그램이 시스템의 설정 파일을 이용해 몰래 용량을 계속 채워 넣어도 관리 도구가 이를 감지하지 못하는 문제입니다. 결국 컴퓨터의 저장 공간이 꽉 차서 시스템 전체가 멈출 수 있습니다.
🇺🇸 원문 (English)
The Kubernetes kubelet component in versions 1.1-1.16.12, 1.17.0-1.17.8 and 1.18.0-1.18.5 do not account for disk usage by a pod which writes to its own /etc/hosts file. The /etc/hosts file mounted in a pod by kubelet is not included by the kubelet eviction manager when calculating ephemeral storage usage by a pod. If a pod writes a large amount of data to the /etc/hosts file, it could fill the storage space of the node and cause the node to fail.
📍 영향받는 시스템
Kubernetes kubelet versions 1.1-1.16.12, 1.17.0-1.17.8, 1.18.0-1.18.5
⚔️ 공격 벡터
Pod 내에서 /etc/hosts 파일에 대량의 데이터를 지속적으로 기록하여 노드의 디스크 공간을 고갈시키는 방식
🛡️ 대응 방법
Kubernetes를 취약점이 해결된 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 kubelet 버전이 취약한 버전 범위(1.1-1.16.12, 1.17.0-1.17.8, 1.18.0-1.18.5)에 포함되는지 확인합니다.
kubectl get nodes -o jsonpath='{.items[*].status.nodeInfo.kubeletVersion}'