🔍 CVE-2017-12188

7.8
CVSS Score
HIGH
2017-10-11
2026-05-13 00:24
✅ 완료

🇰🇷 한글 설명

KVM 중첩 가상화에서 게스트 페이지 테이블 항목 순회 중 발생하는 MMU 버그로, L1 게스트 OS 사용자가 호스트 OS에서 임의 코드를 실행하거나 서비스 거부 공격을 수행할 수 있습니다. 잘못된 인덱스 접근으로 인한 스택 버퍼 오버런이 호스트 OS 충돌을 초래합니다.

💡 쉬운 설명

가상 머신 기능의 메모리 관리에 결함이 있어서, 가상 머신 내부의 악의적 코드가 실제 컴퓨터를 제어할 수 있는 문제입니다. 이를 통해 공격자가 컴퓨터를 장악하거나 의도적으로 충돌시킬 수 있습니다.

🇺🇸 원문 (English)

arch/x86/kvm/mmu.c in the Linux kernel through 4.13.5, when nested virtualisation is used, does not properly traverse guest pagetable entries to resolve a guest virtual address, which allows L1 guest OS users to execute arbitrary code on the host OS or cause a denial of service (incorrect index during page walking, and host OS crash), aka an "MMU potential stack buffer overrun."

📍 영향받는 시스템

Linux kernel 4.13.5 이하의 KVM(Kernel-based Virtual Machine) 기능이 활성화된 x86 시스템

⚔️ 공격 벡터

L1 게스트 OS에서 특수하게 조작된 페이지 테이블 항목을 통해 호스트 메모리 주소 변환(MMU) 함수를 호출하여 임의 메모리 접근

🛡️ 대응 방법

Linux kernel을 4.13.6 이상으로 업데이트하거나, x86/kvm/mmu.c의 페이지 테이블 순회 로직을 패치된 버전으로 적용

🔧 검증 코드

명령어 실행 결과 VULNERABLE이 나오면 패치 필요, SAFE가 나오면 안전합니다.

Shell / Script
uname -r | awk -F'[.-]' '{if(($1<4)||($1==4&&$2<13)||($1==4&&$2==13&&$3<=5))print "VULNERABLE";else print "SAFE"}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel