CVE-2026-90342 in Linux
요약
\~에 의해 VulDB • 2026. 09. 18.
리눅스 커널에서 다음 취약점이 해결되었습니다:
bpf: arena 잠금 실패 시 mmap_lock 데드락 수정
Sashiko AI 검토에 의해 보고됨.
arena_vm_fault()는 arena->spinlock을 획득할 수 없을 때 VM_FAULT_RETRY를 반환하지만, mmap_lock은 결코 획득하지 않습니다. Fault 경로에서는 VM_FAULT_RETRY 핸들러가 이미 mmap_lock을 해제하고 재시도 시 다시 획득한다고 가정하므로, mmap_lock이 두 번 획득되어 데드락이 발생할 수 있습니다:
do_user_addr_fault() {
fault = handle_mm_fault(...); // arena_vm_fault() 호출 if (fault & VM_FAULT_RETRY) goto retry; // mmap_lock 재잠금 mmap_read_unlock(mm); }
다음 두 가지 이유로 VM_FAULT_SIGBUS를 반환합니다:
1. VM_FAULT_RETRY를 유지할 수도 있지만, 그 경우 __folio_lock_or_retry()가 수행하는 것처럼 먼저 fault 잠금을 해제하고 자체적으로 재시도 횟수를 제한해야 합니다.
2. raw_res_spin_lock_irqsave() 실패는 이미 가능한 데드락이 감지되었음을 의미하므로, 재시도는 동일한 잠금에 다시 부딪히게 됩니다.
따라서 여기서 VM_FAULT_RETRY를 반환하는 것은 과잉 처리입니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.