Zapscape: KVM 게스트-호스트 탈출 및 LPE를 위한 최신 Linux 취약점
요약
KVM의 shadow MMU 에뮬레이션 코드에서 발견된 use-after-free 취약점인 Zapscape를 소개합니다. 이 취약점은 게스트 VM에서 호스트로 탈출하거나 로컬 권한 상승(LPE)을 가능하게 하여 시스템 전체를 장악할 수 있는 위험성을 가집니다.
핵심 포인트
- KVM shadow MMU 에뮬레이션의 use-after-free 취약점 발견
- 게스트 VM에서 호스트로의 탈출 및 RCE 가능성
- /dev/kvm 권한 설정 문제로 인한 로컬 권한 상승(LPE) 위험
- 2020년 중반부터 2024년 7월 21일 이전 커널 버전 영향
Zapscape: KVM 게스트-호스트 탈출 및 LPE를 위한 최신 Linux 취약점

/dev/kvm은 RHEL과 같은 일부 Linux 배포판에서 모든 사용자에게 쓰기 권한이 허용(world-writable)되어 있습니다.
Zapscape는 KVM x86/x86_64 게스트가 호스트로 탈출하여 호스트에서 root 권한으로 명령을 실행할 수 있게 하는 KVM 탈출(escape) 취약점입니다. Zapscape는 x86 코드 경로 내 Kernel-based Virtual Machine의 shadow MMU 에뮬레이션 코드에 존재하는 use-after-free 취약점을 중심으로 발생합니다.
오늘의 발표와 함께, 해당 취약점에 대한 화려한 그래픽 및 관련 정보와 더불어, 무기화(weaponized)된 형태는 아니지만 공개적인 개념 증명 (PoC, Proof of Concept) 예시도 함께 제공되었습니다.
영향을 받는 Linux 커널 버전은 2020년 중반부터 MMU 페이지를 사용 가능하게 만든 후 유효하지 않거나 오래된 root를 확인하여 이 문제가 수정된 7월 21일까지입니다.
KVM 탈출 (KVM escape): 게스트 측의 동작만으로 공격자는 자신의 VM을 실행 중인 호스트를 침해할 수 있습니다. 예를 들어, 퍼블릭 클라우드에서 단 하나의 인스턴스만 임대한 공격자가 호스트 커널을 패닉(panic) 상태로 만들어 동일한 물리적 머신에 있는 다른 모든 테넌트 VM을 다운시키거나 (DoS), 호스트에서 root 권한으로 코드를 실행하여 호스트와 그 위의 모든 게스트를 장악할 수 있습니다 (RCE).
LPE: RHEL과 같은 배포판에서는 /dev/kvm이 모든 사용자에게 쓰기 권한(0666)이 있으므로, 권한이 없는 사용자도 이 취약점을 LPE (Local Privilege Escalation, 로컬 권한 상승)로 사용하여 root 권한을 획득할 수 있습니다. LPE로 사용될 경우 호스트 측의 VMM ioctls를 사용할 수 있어, 익스플로잇(exploit)이 더 쉽고 안정적으로 변합니다.
Zapscape에 대한 더 자세한 내용은 Zapscape GitHub 저장소를 통해 확인할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기