🇰🇷 한글 설명
Linux 커널의 KVM arm64 구현에서 AArch32 게스트의 DBGBXVR<n> 레지스터 접근 처리에 결함이 있었습니다. 레지스터 통합 과정에서 Op2 값 1이 처리되지 않아 게스트가 해당 레지스터에 접근하면 KVM_BUG_ON()이 발생하고 VM이 중단됩니다. 패치는 Op2 1을 dbg_bvr[] 매핑에 추가하여 이전 동작을 복원합니다.
💡 쉬운 설명
가상 머신 안에서 32비트 운영체제가 특정 디버그 레지스터를 사용하면 가상 머신이 강제로 멈출 수 있습니다. 리눅스 커널 업데이트로 이 문제가 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: Fix AArch32 DBGBXVR<n> handling
The consolidation of the breakpoint and watchpoint register accessors
switched DBGBXVR<n> from trap_bvr() to trap_dbg_wb_reg(). The latter
selects backing storage with demux_wb_reg(), which only handles Op2 values
4 through 7. Since DBGBXVR<n> uses Op2 1, an AArch32 guest access hits
KVM_BUG_ON() and marks the VM dead.
DBGBXVR<n> aliases DBGBVR<n>_EL1[63:32], and its AA32(HI) descriptor
already selects the upper half. Map Op2 1 to dbg_bvr[] alongside Op2 4,
restoring the pre-regression behavior.
📍 영향받는 시스템
Linux 커널 KVM arm64 구현을 사용하는 ARM64 호스트의 KVM 가상화 환경 (패치 전 해당 회귀가 포함된 커널 버전)
⚔️ 공격 벡터
AArch32(32비트) 모드로 동작하는 KVM 게스트가 DBGBXVR<n> 레지스터에 접근하여 호스트 VM을 비정상 종료시키는 서비스 거부(DoS) 방식
🛡️ 대응 방법
수정 패치가 포함된 최신 Linux 커널로 업데이트하고 호스트를 재부팅하세요.
🔧 검증 코드
출력된 커널 버전을 배포판의 보안 권고나 커널 changelog와 비교하여 CVE-2026-98469 수정 패치가 포함되었는지 확인하고, 해당되지 않으면 업데이트가 필요합니다.