🇰🇷 한글 설명
OpenTelemetry Operator 0.152.0 미만 버전에서 ServiceMonitor 설정을 통해 Collector Pod 내의 민감한 파일(예: 서비스 계정 토큰)을 탈취할 수 있는 취약점이 존재합니다. 공격자가 ServiceMonitor를 조작하여 Collector의 인증 토큰을 외부로 전송하도록 유도할 수 있습니다.
💡 쉬운 설명
해커가 설정 파일을 조작하여 시스템의 중요한 비밀번호나 열쇠를 몰래 외부로 빼돌릴 수 있는 문제입니다. 이로 인해 해커가 권한을 얻어 클러스터 내부를 돌아다닐 위험이 있습니다.
🇺🇸 원문 (English)
The OpenTelemetry Operator is a Kubernetes Operator for the OpenTelemetry Collector. Prior to 0.152.0, cmd/otel-allocator TargetAllocator instances with targetAllocator.prometheusCR.enabled set to true preserve a selected ServiceMonitor endpoint's bearerTokenFile value as HTTPClientConfig.Authorization.CredentialsFile. A tenant who can create or update a ServiceMonitor matched by serviceMonitorSelector and serviceMonitorNamespaceSelector can point bearerTokenFile at a file in the Collector pod, including /var/run/secrets/kubernetes.io/serviceaccount/token, and direct scraping to a tenant-controlled endpoint. The Collector reads that file at scrape time and sends its contents as bearer authorization on every scrape interval. Exploitation also requires the Collector service-account token or another sensitive file to be mounted and the Collector to reach the chosen target. The DenyFSAccessThroughSMs control was absent, allowing disclosure of the Collector's service-account JWT or other mounted files, and resulting Kubernetes API impact is limited by the Collector service account's permissions. This issue is fixed in version 0.152.0.
📍 영향받는 시스템
OpenTelemetry Operator versions prior to 0.152.0
⚔️ 공격 벡터
ServiceMonitor 설정을 조작하여 Collector의 서비스 계정 토큰이 포함된 파일을 공격자가 제어하는 엔드포인트로 전송하도록 유도
🛡️ 대응 방법
OpenTelemetry Operator를 0.152.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 opentelemetry-operator의 VERSION이 0.152.0 미만인지 확인하십시오.
helm list -A | grep opentelemetry-operator