🇰🇷 한글 설명
Linux 커널의 KVM arm64 구현에서 MTE(Memory Tagging Extension)가 활성화된 호스트 커널을 실행할 때 shift-out-of-bounds 오류가 발생합니다. 이 취약점은 arch/arm64/kvm/sys_regs.c 파일 내에서 32비트 정수 범위를 초과하는 시프트 연산으로 인해 발생합니다.
💡 쉬운 설명
컴퓨터가 데이터를 처리할 때 숫자를 옮기는 과정에서 허용된 범위를 벗어나는 계산 실수가 발생하는 문제입니다. 이로 인해 가상 머신을 사용하는 시스템에서 예기치 않은 동작이나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: Fix shift-out-of-bounds bug
Fix a shift-out-of-bounds bug reported by UBSAN when running
VM with MTE enabled host kernel.
UBSAN: shift-out-of-bounds in arch/arm64/kvm/sys_regs.c:1988:14
shift exponent 33 is too large for 32-bit type 'int'
CPU: 26 UID: 0 PID: 7629 Comm: qemu-kvm Not tainted 6.12.0-rc2 #34
Hardware name: IEI NF5280R7/Mitchell MB, BIOS 00.00. 2024-10-12 09:28:54 10/14/2024
Call trace:
dump_backtrace+0xa0/0x128
show_stack+0x20/0x38
dump_stack_lvl+0x74/0x90
dump_stack+0x18/0x28
__ubsan_handle_shift_out_of_bounds+0xf8/0x1e0
reset_clidr+0x10c/0x1c8
kvm_reset_sys_regs+0x50/0x1c8
kvm_reset_vcpu+0xec/0x2b0
__kvm_vcpu_set_target+0x84/0x158
kvm_vcpu_set_target+0x138/0x168
kvm_arch_vcpu_ioctl_vcpu_init+0x40/0x2b0
kvm_arch_vcpu_ioctl+0x28c/0x4b8
kvm_vcpu_ioctl+0x4bc/0x7a8
__arm64_sys_ioctl+0xb4/0x100
invoke_syscall+0x70/0x100
el0_svc_common.constprop.0+0x48/0xf0
do_el0_svc+0x24/0x38
el0_svc+0x3c/0x158
el0t_64_sync_handler+0x120/0x130
el0t_64_sync+0x194/0x198
📍 영향받는 시스템
MTE가 활성화된 arm64 아키텍처 기반의 Linux 커널 (특히 6.12.0-rc2 이전 버전)
⚔️ 공격 벡터
MTE가 활성화된 환경에서 특정 시스템 레지스터 설정을 유도하는 가상 머신(VM) 실행을 통한 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 취약점이 수정된 최신 버전(6.12 이후 또는 배포판 보안 패치 적용 버전)인지 확인합니다.