Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ITScape | Kitploit
도구/GitHubGitHub/v4bel/itscape
Vulnerability AnalysisExploitationPenetration TestingHardware SecurityPapers & ResearchLearning & EducationBinary Exploitation
GitHubv4bel/itscape

ITScape

저장소 보기
1572113일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ITScape: KVM/arm64에서의 게스트-호스트 탈출

tux

요약

demo

이 문서는 Hyunwoo Kim (@v4bel)이 보고하고 패치한 ITScape (CVE-2026-46316) 취약점을 설명합니다. 이 취약점은 KVM/arm64 환경에서 게스트가 호스트로 탈출하여 커널(root) 권한으로 호스트에서 명령을 실행할 수 있게 하는 KVM 탈출 취약점입니다. 공개적으로 알려진 바로는, KVM/arm64를 대상으로 한 첫 번째 게스트-호스트 탈출 익스플로잇 연구입니다.

ITScape는 KVM/arm64의 vGIC-ITS (Interrupt Translation Service) 에뮬레이션에서 경쟁 조건(race condition)을 악용합니다. 게스트 측 동작만으로 버그를 트리거하여 호스트로 탈출할 수 있으며, 신뢰할 수 없는 게스트를 수용하는 KVM/arm64 호스트, 특히 멀티 테넌트 arm64 퍼블릭 클라우드의 게스트-호스트 격리를 위협할 수 있습니다.

일반적으로 공개되는 QEMU 탈출과 달리, 이 버그는 QEMU 사용자 공간이 아닌 커널 내부의 KVM에 존재하므로 QEMU의 에뮬레이션과 무관하게 동작하며, 사용자 프로세스(예: QEMU)의 권한이 아닌 호스트 커널 권한으로 호스트에서 명령을 실행할 수 있습니다.

자세한 기술 정보는 여기를 참조하세요.

[!NOTE] 이 취약점을 [email protected]에 보고한 후 합의된 엠바고가 종료되어 이 ITScape 문서를 공개합니다. 공개 타임라인은 기술 상세 문서를 참조하세요.

PoC 구조

안전한 테스트를 위해 QEMU TCG 환경에서 PoC를 실행하는 것을 권장합니다. (취약점 트리거는 QEMU와 관련이 없습니다.) QEMU TCG에서 실행하면 PoC는 다음과 같은 구조를 가집니다.

root@kitploit:~
QEMU TCG: emulates an arm64 CPU (including EL2) so an arm64 kernel runs as the KVM host
   └─ arm64 Host Kernel: the KVM host and the escape target
        └─ poc: opens the HOST's /dev/kvm and creates one guest VM "G" (uid=1000)
             └─ 1. G's guest code (run by poc via KVM_RUN) performs GIC/ITS MMIO
                2. traps into the HOST's in-kernel KVM -> double-put -> HOST kernel code-exec

이 PoC는 arm64 클라우드 환경에서 즉시 실행되는 완전한 무기화 익스플로잇이 아니라, kvm selftest 위에서 취약점과 전체 익스플로잇 체인을 재현하는 데모 코드입니다. 대상 클라우드의 가상화 스택 구현을 아는 공격자라면 무기화로의 전환 자체는 어렵지 않다고 판단할 수 있지만, selftest의 호스트 측 직접 구성 방식을 실제 게스트 주도 경로로 포팅하고 대상 커널 버전 및 설정에 맞게 주소, gadget, 오프셋, 레이스 타이밍 등을 조정해야 합니다. 실제 환경에서 동작하는 무기화된 익스플로잇은 존재하지만 공개하지 않습니다.

PoC 사용법

  1. PoC는 Linux 커널 소스의 kvm selftest를 기반으로 합니다. 취약점이 패치되기 직전 버전인 v7.1-rc6 커널 소스를 내려받은 다음 빌드 스크립트로 PoC를 빌드하세요. 그런 다음 포함된 kconfig로 커널 이미지를 빌드하세요.
root@kitploit:~
# ./build.sh <linux>/tools/testing/selftests/kvm
  1. 빌드된 PoC를 적절한 initramfs에 넣고, 첨부된 QEMU 스크립트 기반으로 qemu를 실행하세요.
root@kitploit:~
# ./qemu.sh <kernel-image> <initramfs>
  1. QEMU TCG가 부팅된 후 poc를 실행하세요. 익스플로잇이 성공하면 게스트에서 탈출하여 호스트에 /ITScape 파일을 생성합니다.
root@kitploit:~
# ./poc
...
[+] /ITScape created by the host kernel (owner uid=0). verify:  ls -la /ITScape
# ls -la /ITScape
-rw-r--r--    1 0        0                0 Jun  9 00:02 /ITScape

이 PoC는 정확한 정보를 제공하기 위한 것입니다. 테스트 권한이 없는 시스템에서는 사용하지 마세요.

영향을 받는 버전

ITScape(CVE-2026-46316)는 8201d1028caa (2024-04-25)부터 13031fb6b835 (2026-06-05)까지의 범위에 영향을 줍니다.

FAQ

걱정해야 하나요?

멀티 테넌트 게스트를 수용하는 arm64 KVM 호스트를 운영하거나, 그 위의 인스턴스를 사용한다면 호스트 커널에 13031fb6b835 패치가 적용되었는지 확인하세요(운영자는 직접, 테넌트는 제공업체를 통해). 또한 이는 새로운 취약점 클래스이므로 더 많은 변종과 후속 취약점이 나올 것으로 예상되니 주의를 기울이세요. 다만 후속 취약점이 호스트 측 개입 없이 게스트 동작만으로 정말 트리거 가능한지, 실제로 익스플로잇 가능한지 구분해야 합니다.

x86이나 다른 아키텍처에도 영향을 주나요?

아니요. 이 취약점은 arch/arm64/kvm/vgic/에 있습니다. arm64 KVM 호스트를 사용하지 않는다면 이 취약점에 대해 걱정할 필요가 없습니다.

게스트 VM 안에서 root 권한이 필요한가요?

네. GIC/ITS MMIO를 구동하려면 게스트 커널(EL1) 권한이 필요합니다. 퍼블릭 클라우드에서 인스턴스를 할당받으면 보통 자신의 VM에서 root 권한을 가지므로 이 조건이 충족됩니다. 게스트 root가 없는 시나리오에서는 Dirty Frag 같은 LPE와 연계해야 합니다.

도구 다운로드