🇰🇷 한글 설명
Linux 커널의 KVM arm64 구현에서 pKVM hyp vCPU를 플러시할 때 __hyp_running_vcpu 값이 제대로 초기화되지 않는 취약점이 발견되었습니다. 이로 인해 호스트에서 제공한 값이 EL2 권한 레벨에서 역참조될 수 있는 위험이 존재합니다.
💡 쉬운 설명
가상화 기술을 사용하는 시스템에서 관리자 권한 영역에 잘못된 정보가 전달되어 보안 경계가 무너질 수 있는 문제입니다. 공격자가 이를 악용하면 시스템의 가장 높은 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: Clear __hyp_running_vcpu when flushing the pKVM hyp vCPU
flush_hyp_vcpu() copies the host vCPU context into the hyp's private
vCPU on every run. ctxt_to_vcpu() expects a guest context to have a
NULL __hyp_running_vcpu, which is only ever set on the host context, so
that it resolves the vCPU via container_of(). While this is generally
the case, flush_hyp_vcpu() copies the context verbatim and does not
enforce this, so a value provided by the host is dereferenced at EL2
(host -> EL2).
Fix by clearing __hyp_running_vcpu after the copy.
📍 영향받는 시스템
Linux Kernel (arm64 architecture using pKVM)
⚔️ 공격 벡터
호스트에서 조작된 vCPU 컨텍스트를 통해 EL2 권한 레벨에서의 메모리 역참조 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 __hyp_running_vcpu 초기화 로직을 적용해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.