🇰🇷 한글 설명
etcd의 특정 버전에서 인증 및 인가 검사를 우회하여 권한이 없는 사용자가 클러스터 함수를 호출할 수 있는 취약점이 발견되었습니다. 공격자는 이를 통해 클러스터 토폴로지를 파악하거나, 알람을 발생시켜 서비스를 중단시키고, 리스(Lease) API를 조작하거나 데이터 압축(Compaction)을 트리거하여 복구 워크플로우를 방해할 수 있습니다.
💡 쉬운 설명
데이터 저장소인 etcd의 보안 문이 제대로 잠기지 않아, 허가받지 않은 사람이 내부 정보를 훔쳐보거나 시스템을 고장 낼 수 있는 문제입니다. 다만 쿠버네티스가 자체적으로 보안을 관리하는 경우에는 직접적인 영향을 받지 않습니다.
🇺🇸 원문 (English)
etcd is a distributed key-value store for the data of a distributed system. Prior to versions 3.4.42, 3.5.28, and 3.6.9, unauthorized users may bypass authentication or authorization checks and call certain etcd functions in clusters that expose the gRPC API to untrusted or partially trusted clients. In unpatched etcd clusters with etcd auth enabled, unauthorized users are able to call MemberList and learn cluster topology, including member IDs and advertised endpoints; call Alarm, which can be abused for operational disruption or denial of service; use Lease APIs, interfering with TTL-based keys and lease ownership; and/or trigger compaction, permanently removing historical revisions and disrupting watch, audit, and recovery workflows. Kubernetes does not rely on etcd’s built-in authentication and authorization. Instead, the API server handles authentication and authorization itself, so typical Kubernetes deployments are not affected. Versions 3.4.42, 3.5.28, and 3.6.9 contain a patch. If upgrading is not immediately possible, reduce exposure by treating the affected RPCs as unauthenticated in practice. Restrict network access to etcd server ports so only trusted components can connect and/or require strong client identity at the transport layer, such as mTLS with tightly scoped client certificate distribution.
📍 영향받는 시스템
etcd versions prior to 3.4.42, 3.5.28, and 3.6.9
⚔️ 공격 벡터
gRPC API에 노출된 etcd 클러스터에 접근하여 인증 없이 MemberList, Alarm, Lease, Compaction API 호출
🛡️ 대응 방법
etcd를 패치된 버전(3.4.42, 3.5.28, 3.6.9 이상)으로 업그레이드하거나, mTLS 적용 및 네트워크 접근 제어를 통해 etcd 포트 노출을 최소화함
🔧 검증 코드
출력된 etcd 버전이 패치된 버전(3.4.42, 3.5.28, 3.6.9 이상)보다 낮은지 확인합니다.
etcd --version | grep -E '3\.(4\.[0-9]{2,}|5\.[0-9]{2,}|6\.[0-9]{2,})' || etcd --version
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
IBM Verify Identity Access