🇰🇷 한글 설명
Linux 커널의 KVM arm64 구현에서 VNCR 페이지에 쓰기 작업 시 발생하는 결함이 해결되었습니다. 게스트가 VNCR을 쓰기 전에 읽을 경우 PFN이 읽기 전용으로만 설정되어 발생하던 문제를 해결하기 위해, VNCR 어보트 발생 시 TLB를 무효화하고 번역을 재수행하도록 수정되었습니다.
💡 쉬운 설명
가상 머신이 특정 메모리 영역에 데이터를 쓰려고 할 때, 권한 문제로 인해 시스템이 멈추거나 오류가 발생할 수 있는 보안 약점이 있었습니다. 이번 패치를 통해 시스템이 해당 권한을 올바르게 다시 확인하여 정상적으로 작동하게 되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: nv: Re-translate VNCR before injecting abort
KVM faults in the VNCR page with FOLL_WRITE whenever the guest aborts
for a write, similar to how a regular stage-2 mapping is handled. It is
entirely possible that the guest reads from the VNCR before writing to
it, in which case the PFN could only be read-only.
Invalidate the VNCR TLB and re-fetch the translation upon taking a VNCR
abort, allowing the host mapping to be faulted in for write the second
time around. Interestingly enough, this also satisfies the ordering
requirements of FEAT_ETS2/3 between descriptor updates and MMU faults.
📍 영향받는 시스템
arm64 아키텍처를 사용하는 Linux 커널 기반 KVM 가상화 환경
⚔️ 공격 벡터
게스트 운영체제가 특정 시점에 VNCR 페이지에 쓰기 작업을 시도하여 커널의 메모리 관리 오류를 유도
🛡️ 대응 방법
KVM의 VNCR 재번역 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인