🇰🇷 한글 설명
Kubernetes Azure 클라우드 프로바이더 1.6.0~1.6.5 버전에서 생성된 Persistent Volume(PV)의 기본 접근 권한이 'container'로 설정되어 인증 없이 공개 인터넷에서 접근 가능한 URI가 노출된다. URI 문자열에 접근하려면 Kubernetes 클러스터에 대한 권한 있는 접근 또는 Azure 포탈에 대한 인증된 접근이 필요하다.
💡 쉬운 설명
Kubernetes에서 데이터를 저장하는 볼륨의 접근 권한이 잘못 설정되어 인증 없이 외부에서 접근할 수 있게 되었다. Azure를 사용하는 Kubernetes 1.6.0~1.6.5 버전에서 발생하는 문제다.
🇺🇸 원문 (English)
Default access permissions for Persistent Volumes (PVs) created by the Kubernetes Azure cloud provider in versions 1.6.0 to 1.6.5 are set to "container" which exposes a URI that can be accessed without authentication on the public internet. Access to the URI string requires privileged access to the Kubernetes cluster or authenticated access to the Azure portal.
📍 영향받는 시스템
Kubernetes Azure Cloud Provider v1.6.0 ~ v1.6.5
⚔️ 공격 벡터
공개 인터넷에서 노출된 Persistent Volume URI에 직접 접근하여 민감한 데이터 열람 및 탈취
🛡️ 대응 방법
Kubernetes를 1.6.6 이상으로 업그레이드 또는 PV 접근 권한을 'private'으로 재설정
🔧 검증 코드
Kubernetes 버전이 v1.6.0~v1.6.5이고 Azure PV가 존재하면 취약하며, 캐싱 모드가 ReadWrite로 설정되어 있으면 권한 설정을 확인해야 한다.
kubectl version --short 2>/dev/null | grep -oE 'v1\.[0-6]\.[0-5]' && kubectl get pv -o jsonpath='{.items[*].spec.azureDisk.cachingMode}' 2>/dev/null