[버그바운티] CVE 분석 - CVE-2024-8676

Jay·2025년 3월 1일

BugBounty

목록 보기
6/6

CVE-2024-8676는 Red Hat의 클라우드 컴퓨팅 Kubernetes 애플리케이션용 오픈소스 컨테이너 런타임인 CRI-O에서 발견된 보안 취약점이다. 이 취약점은 컨테이너 복원 과정에서 검증이 부족한 것에서 비롯된다. CRI-O가 컨테이너의 체크포인트(Checkpoint) 아카이브를 생성한 후 컨테이너를 복원할 때, 새로운 Pod 요청의 마운트 정보를 따르지 않고, 복원된 아카이브 내의 마운트 정보를 사용한다. 그 결과 Pod 스펙(Pod Spec)에 대해 수행하는 검증이 복원된 컨테이너에는 적용되지 않게 된다. 이러한 검증 부족으로 인해 악의적인 사용자가 kubelet 또는 CRI-O 소켓에 접근할 수 있다면, 부적절한 Pod 복원을 유도할 수 있다. 그 결과, 호스트 마운트(Host Mount)에 대한 접근 권한이 없는 Pod라도 특정 방법을 통해 복원될 수 있으며, 이는 예기치 않은 컨테이너 동작 또는 보안 침해로 이어질 가능성이 있다.

CRI-O?
컨테이너 런타임(Container Runtime) 중 하나이다. 컨테이너를 실행하려면 기본적으로 컨테이너 런타임이 필요하며, CRI-O는 Kubernetes에서 가볍고 효율적으로 컨테이너를 실행하기 위해 설계된 런타임이다.

Kubernetes
: Kubernetes(쿠버네티스, K8s)는 컨테이너를 자동으로 배포, 관리, 확장하는 오픈소스 오케스트레이션 플랫폼이다.

컨테이너?
컨테이너는 애플리케이션과 그 실행에 필요한 모든 환경(라이브러리, 종속성, 설정 등)을 하나의 패키지로 묶어 실행하는 가상화 기술이다. 일반적으로 프로그램을 실행하려면 운영체제(OS), 라이브러리, 실행 환경이 필요한데 서로 다른 환경에서는 프로그램이 정상적으로 실행되지 않을 수 있다. 따라서 컨테이너는 애플리케이션과 실행 환경을 하나의 패키지로 묶어 어디서든 동일한 환경에서 실행되도록 한다.

컨테이너를 복원하는 과정에서, CRI-O는 새로운 Pod 요청이 아닌, 복원 아카이브에 포함된 마운트 정보를 그대로 사용하게 된다. 그 결과, Pod 스펙에서 실행되는 검증 과정(해당 Pod가 지정한 마운트에 접근할 수 있는지 확인하는 과정)이 복원된 컨테이너에는 적용되지 않게 된다.

Pod?
Kubernetes에서 컨테이너를 실행하는 최소 단위. 컨테이너들의 묶음. Kubernetes는 Pod 단위로 스케일링, 배포, 관리를 수행한다.

해당 취약점을 이용하면, 공격자가 CRI-O를 속여 원래 접근할 수 없는 호스트 마운트(Host Mounts)에 접근할 수 있는 Pod를 복원할 수 있다. 즉, 권한이 없는 사용자가 원래는 접근할 수 없는 파일 시스템을 조작할 수 있는 가능성이 생긴다.
다만, 이 취약점을 악용하려면 공격자가 kubelet 또는 CRI-O 소켓에 접근할 수 있어야 하며, 해당 소켓을 통해 복원 요청을 수행해야 한다.

호스트 마운트?
: 컨테이너가 실행되는 호스트 머신(실제 서버)의 파일 시스템을 컨테이너 내부에 직접 연결하는 방식을 말한다.

kubelet?
: Kubernetes의 노드(Node)에서 실행되는 에이전트 프로그램. 이때 노드는 Kubernetes에서 애플리케이션이 실행되는 물리 서버나 가상 머신(VM)을 의미하고, kubelet은 해당 노드에서 실행 중인 Pod와 컨테이너들을 관리하는 역할을 한다. 또 API 서버로부터 명령을 받아 CRI-O 같은 컨테이너 런타임에게 이 컨테이너를 실행하라고 요청한다.

완화 방안

현재 이 취약점에 대한 즉각적인 해결책은 없거나, 기존의 완화 방법이 Red Hat의 보안 기준(사용 편의성, 배포 용이성, 광범위한 설치 기반 적용 가능성, 안정성 등)을 충족하지 못하고 있다.
즉, 현재로서는 효과적인 대응책이 없거나, 기존의 해결책이 실질적인 배포 환경에서 적용하기 어렵다.

reference
: https://nvd.nist.gov/vuln/detail/CVE-2024-8676
https://www.recordedfuture.com/vulnerability-database/CVE-2024-8676
https://access.redhat.com/security/cve/cve-2024-8676
https://access.redhat.com/errata/RHSA-2025:0648

0개의 댓글