🇰🇷 한글 설명
Talos Linux의 워커 노드 CSR 서명 과정에서 요청 검증이 미흡하여 발생한 취약점입니다. 공격자가 워커 노드의 조인 토큰을 탈취할 경우, 컨트롤 플레인 API 인증서를 발급받아 클러스터 전체에 대한 완전한 제어 권한을 획득할 수 있습니다.
💡 쉬운 설명
노드가 클러스터에 합류할 때 사용하는 비밀번호가 잘못 관리되어 외부로 유출될 수 있는 문제입니다. 이 비밀번호가 유출되면 해커가 전체 시스템을 마음대로 조종할 수 있게 됩니다.
🇺🇸 원문 (English)
Talos Linux is a Linux distribution built for Kubernetes deployments. Talos worker nodes use a join token to get accepted into the Talos cluster. Due to improper validation of the request while signing a worker node CSR (certificate signing request) Talos control plane node might issue Talos API certificate which allows full access to Talos API on a control plane node. Accessing Talos API with full level access on a control plane node might reveal sensitive information which allows full level access to the cluster (Kubernetes and Talos PKI, etc.). Talos API join token is stored in the machine configuration on the worker node. When configured correctly, Kubernetes workloads don't have access to the machine configuration, but due to a misconfiguration workload might access the machine configuration and reveal the join token. This problem has been fixed in Talos 1.2.2. Enabling the Pod Security Standards mitigates the vulnerability by denying hostPath mounts and host networking by default in the baseline policy. Clusters that don't run untrusted workloads are not affected. Clusters with correct Pod Security configurations which don't allow hostPath mounts, and secure access to cloud metadata server (or machine configuration is not supplied via cloud metadata server) are not affected.
📍 영향받는 시스템
Talos Linux 1.2.2 미만 버전 (잘못된 Pod Security 설정 및 워크로드 접근 권한이 있는 경우)
⚔️ 공격 벡터
설정 오류로 인해 노드 구성 파일에 접근 가능한 워크로드를 통해 조인 토큰을 탈취한 후 CSR 요청을 위조함
🛡️ 대응 방법
Talos Linux를 1.2.2 버전 이상으로 업데이트하고, Pod Security Standards를 활성화하여 hostPath 및 host networking 접근을 제한함
🔧 검증 코드
출력된 Talos 버전이 1.2.2 미만인지 확인하여 취약 여부를 판단합니다.
talosctl version | grep -E 'Talos version'