🇰🇷 한글 설명
mcp-server-kubernetes 3.7.0 이전 버전의 kubectl_generic 도구는 사용자 입력 플래그를 검증 없이 kubectl에 전달하여 권한 상승 취약점이 존재합니다. 공격자는 로깅된 로그에 악성 지시를 삽입하여 운영자의 kubeconfig 토큰을 탈취하고, 이를 통해 운영자 수준의 전체 RBAC 권한을 획득할 수 있습니다.
💡 쉬운 설명
이 취약점은 시스템이 사용자의 명령어를 무조건 실행하도록 설계되어 있어, 해커가 숨겨진 명령을 넣어 관리자 권한을 훔칠 수 있게 합니다. 특히 운영자의 인증 정보를 악성 서버로 보내도록 유도하여 전체 시스템 통제권을 빼앗길 위험이 있습니다.
🇺🇸 원문 (English)
mcp-server-kubernetes is a Model Context Protocol server for Kubernetes cluster management. Prior to version 3.7.0, the kubectl_generic tool in mcp-server-kubernetes passes user-supplied flags directly to kubectl without any allowlist, enabling a privilege escalation attack within Kubernetes environments. An attacker who already has limited cluster or codebase access, for example, a developer with pod-deployment permissions but not cluster-admin credentials, can plant a single structured JSON line in an application's log output. When an operator with a privileged kubeconfig uses the MCP server to read those logs and their AI agent follows the injected instruction, kubectl_generic is called with --server=https://attacker.example.com and --insecure-skip-tls-verify=true. kubectl sends all API requests, including the Authorization: Bearer <token> header from the operator's kubeconfig to the attacker's endpoint. The captured token can then be replayed directly against the real Kubernetes API server, granting the attacker the full RBAC permissions of the operator's service account. This issue has been patched in version 3.7.0.
📍 영향받는 시스템
mcp-server-kubernetes < 3.7.0
⚔️ 공격 벡터
로그 파일에 악성 JSON 주입을 통해 kubectl_generic을 조작된 서버로 연결하게 함으로써 운영자의 인증 토큰을 탈취
🛡️ 대응 방법
mcp-server-kubernetes를 버전 3.7.0 이상으로 즉시 업그레이드하여 패치 적용
🔧 검증 코드
명령어 실행 결과 3.7.0 미만의 버전 번호가 출력되면 취약한 버전이 설치되어 있음을 의미하며, 버전이 확인되지 않거나 3.7.0 이상이면 안전합니다.
mcp-server-kubernetes --version 2>/dev/null | grep -E '3\.[0-6]\.'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server