🔍 CVE-2023-41333

6.9
CVSS Score
MEDIUM
2023-09-27
2026-06-17 06:21
✅ 완료

🇰🇷 한글 설명

Cilium 네트워크 솔루션에서 특정 네임스페이스의 CiliumNetworkPolicy를 생성하거나 수정할 수 있는 공격자가 클러스터 전체의 트래픽에 영향을 미칠 수 있는 취약점입니다. 공격자는 'reserved:init' 라벨에 'DoesNotExist' 연산자를 사용하는 정교한 endpointSelector를 사용하여 네임스페이스 제한을 우회하고 전체 클러스터의 정책 집행을 무력화할 수 있습니다.

💡 쉬운 설명

권한이 있는 사용자가 특수한 규칙을 만들어 네트워크 보안 벽을 허물고 클러스터 전체의 통신을 마음대로 조절할 수 있는 문제입니다. 이를 통해 다른 구역의 보안 규칙을 무시하고 모든 데이터를 주고받거나 차단할 수 있습니다.

🇺🇸 원문 (English)

Cilium is a networking, observability, and security solution with an eBPF-based dataplane. An attacker with the ability to create or modify CiliumNetworkPolicy objects in a particular namespace is able to affect traffic on an entire Cilium cluster, potentially bypassing policy enforcement in other namespaces. By using a crafted `endpointSelector` that uses the `DoesNotExist` operator on the `reserved:init` label, the attacker can create policies that bypass namespace restrictions and affect the entire Cilium cluster. This includes potentially allowing or denying all traffic. This attack requires API server access, as described in the Kubernetes API Server Attacker section of the Cilium Threat Model. This issue has been resolved in Cilium versions 1.14.2, 1.13.7, and 1.12.14. As a workaround an admission webhook can be used to prevent the use of `endpointSelectors` that use the `DoesNotExist` operator on the `reserved:init` label in CiliumNetworkPolicies.

📍 영향받는 시스템

Cilium 1.14.1 미만, 1.13.6 미만, 1.12.13 미만 버전

⚔️ 공격 벡터

Kubernetes API 서버 접근 권한을 이용해 'reserved:init' 라벨에 'DoesNotExist' 연산자를 적용한 CiliumNetworkPolicy 생성

🛡️ 대응 방법

Cilium을 1.14.2, 1.13.7 또는 1.12.14 이상의 버전으로 업데이트하거나, admission webhook을 사용하여 해당 연산자 사용을 차단

🔧 검증 코드

출력된 Cilium 버전이 보안 패치가 적용된 버전(1.14.2, 1.13.7, 1.12.14 이상)인지 확인합니다.

Shell / Script
cilium version | grep -E 'v(1\.14\.[0-2]|1\.13\.[7-9]|1\.12\.[1-4])' || echo 'Vulnerable or unknown version'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:H

💻 영향받는 소프트웨어

Spring Data REST