🇰🇷 한글 설명
Kubernetes v1.8.x에서 v1.14.x 버전 사이의 kubectl은 --cache-dir로 지정된 위치에 스키마 정보를 캐싱하며, 이때 파일 권한이 모든 사용자가 읽고 쓸 수 있는 상태(rw-rw-rw-)로 설정됩니다. 만약 캐시 디렉토리가 다른 사용자가 접근 가능한 위치로 지정되어 있다면, 다른 사용자가 해당 파일을 수정하여 kubectl 실행을 방해할 수 있습니다.
💡 쉬운 설명
kubectl이라는 도구가 임시 파일을 저장할 때 누구나 수정할 수 있는 권한으로 저장하는 보안 허점이 있습니다. 이를 통해 다른 사용자가 파일을 조작하여 사용자의 명령 실행을 방해하거나 오류를 일으킬 수 있습니다.
🇺🇸 원문 (English)
In Kubernetes v1.8.x-v1.14.x, schema info is cached by kubectl in the location specified by --cache-dir (defaulting to $HOME/.kube/http-cache), written with world-writeable permissions (rw-rw-rw-). If --cache-dir is specified and pointed at a different location accessible to other users/groups, the written files may be modified by other users/groups and disrupt the kubectl invocation.
📍 영향받는 시스템
Kubernetes kubectl v1.8.x ~ v1.14.x
⚔️ 공격 벡터
공유 디렉토리에 위치한 kubectl 캐시 파일에 대한 권한 오남용을 통한 데이터 변조
🛡️ 대응 방법
kubectl 버전을 v1.15 이상으로 업데이트하거나, 캐시 디렉토리의 권한을 사용자 전용으로 제한합니다.
🔧 검증 코드
명령어 결과에 v1.8.x부터 v1.14.x 사이의 버전이 출력되면 해당 취약점에 노출된 상태입니다.
kubectl version --client | grep -E 'v1\.(8|9|10|11|12|13|14)\\.'