CVE-2026-98464 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 19.

리눅스 커널에서 다음 취약점이 해결되었습니다:

RISC-V: KVM: teardown(종료) 과정에서 hrtimer 콜백 동기화

non-Sstc hrtimer 콜백은 인접한 vCPU의 최종 사용 전에 next_set을 지웁니다. 만약 teardown가 콜백이 아직 실행 중인 동안 next_set이 false로 관찰되면, kvm_riscv_vcpu_timer_cancel()는 hrtimer_cancel()를 건너뛰고 kvm_destroy_vcpus()는 콜백이 kvm_riscv_vcpu_set_interrupt()에 진입하기 전에 vCPU의 메모리를 해제할 수 있습니다.

게스트는 SBI TIME를 사용하여 타이머를 설정하고, SBI 레거시シャット다운 또는 SRST로 シャット다운을 요청할 수 있습니다. KVM_EXIT_SYSTEM_EVENT를 준수하고 VM을 파괴하는 VMM은 race(경쟁 조건)의 teardown 측을 제공합니다. 타이머 설정이나 teardown 요청을 위해 런치 후 호스트 ioctl는 필요하지 않습니다.

업스트림 마스터 62cc90241548에서 generic KASAN이 다음을 보고했습니다:

BUG: KASAN: slab-use-after-free in do_raw_spin_lock Write of size 4 at addr ff60000005e58898

kvm_riscv_vcpu_set_interrupt kvm_riscv_vcpu_hrtimer_expired __hrtimer_run_queues hrtimer_interrupt

이 객체는 KVM_CREATE_VCPU에 의해 할당되었고, 다음과 같이 동시에 해제되었습니다:

kvm_destroy_vcpus kvm_arch_destroy_vm kvm_destroy_vm __fput

결정론적 검증을 위해 기존 next_set = false 할당 직후 mdelay(1000)을 추가했습니다. 이는 기존의 클리어 후 콜백 창을 넓히는 것뿐입니다. 지연 없는 트레이스 빌드는 200회 실행 중 12회에서 teardown 시작 이후/디이nit 이전에 도달하는 callback-after-teardown-start/before-deinit 순서를 자연스럽게 달성했지만, 1,500회의 스톡 커널 스트레스 반복에서는 KASAN 보고가 발생하지 않았으므로 자연적 재현은 타이밍에 민감합니다.

초기화된 타이머에는 항상 hrtimer_cancel()을 호출하십시오. 타이머가 더 이상 설정되지 않은 경우 기존 -EINVAL 결과를 유지하되, 실행 중인 콜백과 동기화한 후에만 그렇게 하십시오.

이 패치로 인해 vCPU 파괴 전에 hrtimer_cancel()은 넓어진 전체 콜백 창 동안 차단되었습니다. KASAN은 100회의 고정 및 확장된 실행이나 200회의 수정 전용 타이밍 스윕 실행에서 오류를 보고하지 않았습니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-422141

EPSS

0.00000

활동

낮음

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!