CVE-2026-80589 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 26.

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

block: 추가되지 않은 디스크를 해제할 때 타임아웃 타이머 중지하기

disk_release()는 add_disk() 전에 probe가 실패한 디스크에 대해 blk_mq_init_allocated_queue()의 작업을 되돌리지만, blk_mq_exit_queue()만 호출합니다. q->timeout을 중지하는 코드가 없으며, 해당 타이머는 계속 진행됩니다: 마지막 요청이 완료될 때까지가 아니라 다음 만료 시점까지 대기 상태로 유지됩니다. 따라서 드라이버가 디스크를 추가하기 전에 I/O를 발행한 경우, request_queue가 여전히 타이머 휠 버킷에 연결된 채로 해제(freed)됩니다.

커밋 6f8191fdf41d("block: simplify disk shutdown")는 이를 중지하던 blk_cleanup_queue() 호출을 제거했습니다. __del_gendisk()와 blk_mq_destroy_queue()는 여전히 수행하지만, probe 실패 경로에서만 이 기능이 손실되었습니다.

nvme가 여기에 도달하는 이유는 nvme_update_ns_info()에서 디스크가 추가되기 전에 ns->queue에 Report Zones 또는 FDP io-mgmt-recv를 제출하기 때문입니다. 따라서 이후의 실패(동시 리셋으로 NVME_CTRL_FROZEN 설정, 또는 device_add_disk() 실패)는 put_disk()로 이어지며 이때 타이머가 활성화된 상태입니다:

BUG: KASAN: slab-use-after-free in detach_if_pending+0x30c/0x340 Write of size 8 at addr ffff888004d71310 by task kworker/u8:2/37 __timer_delete_sync+0x156/0x240 kernel/time/timer.c:1621 blk_sync_queue+0x22/0x40 block/blk-core.c:222 nvme_sync_queues+0x100/0x150 drivers/nvme/host/core.c:5362 nvme_reset_work+0x138/0x930 drivers/nvme/host/pci.c:3264

Allocated by task 34: __blk_mq_alloc_disk+0x33/0x100 block/blk-mq.c:4462 nvme_alloc_ns+0x290/0x3870 drivers/nvme/host/core.c:4146

Freed by task 0: blk_free_queue_rcu+0x3a/0x50 block/blk-core.c:254 rcu_core+0xc10/0x1730 kernel/rcu/tree.c:2857

여기서 동기화되는 큐는 ctrl->admin_q이며, 이는 해제된 큐의 덩어리(dangling) 엔트리와 타이머 휠 버킷을 공유하는 피해자입니다. 다른 실행에서는 enqueue_timer(), __run_timers() 또는 blk_mq_timeout_work()에서 문제가 발생했습니다. nvme_alloc_ns()를 디버그 패치로 실패하게 하면 결정론적으로 재현됩니다: 누수된 타이머 하나가 수초 내에 KASAN을 트리거하는 반면, 1987개의 패치된 릴리스에서는 스플래트(splat)가 발생하지 않았습니다.

blk_mq_exit_queue() 전에 타이머와 큐 작업 항목들을 중지하십시오(blk_mq_destroy_queue()가 수행하는 방식대로).

FuzzNvme에 의해 발견됨.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

Linux

예약하다

2026. 08. 26.

모더레이션

수락

항목

VDB-395898

EPSS

0.00000

활동

낮음

출처

Might our Artificial Intelligence support you?

Check our Alexa App!