🇰🇷 한글 설명
Linux 커널의 KVM arm64 구현에서 VNCR 매핑 시 실제 메모리가 아닌 영역에 대해 무조건적으로 캐시 가능한 메모리 속성을 사용하는 취약점입니다. 이로 인해 특정 엔드포인트에서 캐시 가능한 속성을 지원하지 않을 경우 쓰기 작업 시 SError가 발생할 수 있습니다.
💡 쉬운 설명
가상 머신을 운영하는 시스템이 실제 메모리가 아닌 곳을 메모리인 것처럼 잘못 처리하여 시스템 오류를 일으킬 수 있는 문제입니다. 이 오류가 발생하면 시스템이 갑자기 멈추거나 비정상적으로 종료될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: nv: Inject SEA if guest VNCR isn't normal memory
When constructing an L1 VNCR mapping, KVM unconditionally uses cacheable
memory attributes, even if the underlying PFN isn't memory. This gets
particularly hairy if the endpoint doesn't support cacheable memory
attributes, potentially throwing an SError on writeback...
While KVM does permit cacheable memory attributes on certain PFNMAP
VMAs, kvm_translate_vncr() isn't currently grabbing the VMA. So do the
simpler thing for now and just reject everything that isn't memory.
📍 영향받는 시스템
Linux Kernel (arm64 architecture, KVM module)
⚔️ 공격 벡터
가상 머신의 게스트 VNCR 설정을 조작하여 호스트 커널의 잘못된 메모리 속성 할당을 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인