본문으로 건너뛰기
← 뉴스 목록으로
WARNING취약점

Kubernetes 컨테이너 탈출 취약점컨테이너를 넘어 클러스터 전체가 위험하다

5분 읽기
#Kubernetes#컨테이너 탈출#CVE#클라우드보안#RBAC

runc에서 컨테이너 탈출 취약점 3건 발견

2025년 11월, 컨테이너 런타임의 핵심 엔진인 runc에서 3건의 컨테이너 탈출(container escape) 취약점이 공개되었습니다. runc는 Docker, Podman, Kubernetes가 모두 사용하는 저수준 컨테이너 런타임으로, 이 취약점은 거의 모든 컨테이너 환경에 영향을 미칩니다.

컨테이너는 원래 호스트 시스템과 격리되어야 합니다. 그러나 이번 취약점들은 공격자가 컨테이너 내부에서 호스트 운영체제로 탈출할 수 있게 합니다. 아파트의 한 방에서 건물 전체의 마스터키를 획득하는 것과 비슷합니다.

3개 CVE — 어떻게 작동하는가

CVE-2025-31133: /dev/null 심볼릭 링크 공격

runc는 컨테이너 내부의 민감한 호스트 파일을 숨기기 위해 /dev/null로 바인드 마운트(bind-mount)합니다. 이 취약점에서 공격자는 컨테이너 초기화 과정 중 /dev/null심볼릭 링크로 교체하여, runc가 의도하지 않은 파일에 접근하도록 유도합니다.

CVE-2025-52565: /dev/console 바인드 마운트 악용

컨테이너의 /dev/console 바인드 마운트 과정에서 발생하는 결함입니다. 공격자는 심볼릭 링크를 이용해 runc가 procfs의 민감한 파일에 읽기/쓰기 접근을 허용하도록 만듭니다.

CVE-2025-52881: LSM 보안 검사 우회

가장 정교한 취약점입니다. Linux Security Modules(AppArmor, SELinux 등)의 보안 검사를 우회합니다. 공격자는 쓰기 작업을 /proc/sysrq-trigger(호스트 크래시 유발)나 /proc/sys/kernel/core_pattern(완전한 컨테이너 탈출)으로 리다이렉트할 수 있습니다.

세 취약점 모두 **레이스 컨디션(race condition)**과 마운트 조작을 기반으로 하며, 컨테이너 시작 과정의 짧은 시간 창을 악용합니다.

Kubernetes 환경에서의 파급력

일반 서버에서 컨테이너 탈출은 해당 호스트 하나의 문제입니다. 그러나 Kubernetes 환경에서는 파급력이 급격히 확대됩니다:

  1. 컨테이너 탈출 — 공격자가 Pod에서 노드(호스트)로 탈출
  2. Kubelet 접근 — 노드의 kubelet 권한을 획득하여 해당 노드의 모든 Pod 제어
  3. 클러스터 확산 — Service Account 토큰, Secret 등을 탈취하여 다른 노드로 이동
  4. 전체 장악 — 클러스터 전체의 데이터와 워크로드를 제어

CNCF(Cloud Native Computing Foundation)는 2025년 11월 기술 분석 보고서에서 이 취약점들의 심각성을 상세히 다루었습니다. Sysdig 역시 탐지 및 대응 가이드를 발표했습니다.

관련 취약점: NVIDIAScape (CVE-2025-23266)

동일 시기에 NVIDIA 컨테이너 환경에서도 CVSS 9.0의 컨테이너 탈출 취약점(NVIDIAScape)이 발견되었습니다. GPU 워크로드를 사용하는 AI/ML 클러스터에 추가적인 위험을 제기합니다.

지금 할 수 있는 대응법

  1. runc 즉시 업데이트 — 패치된 버전으로 업그레이드합니다. Docker Engine, containerd, CRI-O 등 상위 런타임의 최신 버전에 패치가 포함되어 있습니다
  2. Pod Security Standards 적용 — Kubernetes의 Pod Security Admission(PSA)을 restricted 프로파일로 설정하여 권한 상승을 제한합니다
  3. RBAC 최소 권한 원칙 — Service Account에 최소한의 권한만 부여합니다. cluster-admin 바인딩을 감사하고 불필요한 권한을 제거합니다
  4. 런타임 보안 모니터링 — Falco, Sysdig 등 런타임 보안 도구로 비정상적인 시스템 콜을 탐지합니다. mount, ptrace, setns 호출을 모니터링합니다
  5. Seccomp/AppArmor 프로파일 적용 — CVE-2025-52881은 LSM 우회를 시도하지만, 올바른 Seccomp 프로파일은 공격 표면을 줄입니다. 기본 프로파일이라도 적용하는 것이 무방비보다 안전합니다
  6. 네트워크 정책(NetworkPolicy) 설정 — Pod 간 불필요한 네트워크 통신을 차단하여 횡적 이동을 제한합니다

| 항목 | 내용 | |------|------| | 영향 범위 | Docker, Podman, Kubernetes (runc 사용 환경 전체) | | CVE 수 | 3건 (CVE-2025-31133, CVE-2025-52565, CVE-2025-52881) | | 공격 유형 | 레이스 컨디션 + 마운트 조작 | | 최악의 시나리오 | 컨테이너 → 호스트 → 클러스터 전체 장악 | | 핵심 대응 | runc 업데이트, PSA restricted, RBAC 최소 권한 |

컨테이너는 격리를 보장하지 않습니다. 올바른 보안 설정과 적시 패치가 없으면, 하나의 취약한 Pod가 클러스터 전체의 문을 여는 열쇠가 됩니다.


참고

공유

보안 뉴스 알림 받기

새로운 보안 뉴스를 이메일로 전달합니다.