CVE-2026-98632 in Linux정보

요약

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

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

블루투스: mgmt - 취소 시 pending mesh_send_sync 엔트리를 디큐(queue 해제)합니다.

send_cancel() 함수에서는 hdev->mesh_pending 목록에서 pending mesh_tx 객체를 제거하고 mesh_send_complete()를 통해 메모리가 해제됩니다(free). 그러나 만약 mesh_next()를 통해 해당 메시지가 이미 hdev->cmd_sync_work_list에 큐잉되어 있는 경우, 큐에 쌓인 엔트리는 여전히 freed된(mesh_tx가 해지된) 상태의 raw 포인터를 참조하게 됩니다.

후속 처리 단계에서 hci_cmd_sync_work가 이 엔트리를 처리할 때, 이미 해제된 mesh_tx 포인터를 사용하여 mesh_send_sync 및 해당 destroy 콜백인 mesh_send_start_complete를 실행하려고 시도합니다. 이로 인해 use-after-free(해제 후 사용) 취약점이 발생합니다.

이 문제를 해결하기 위해 대상 mesh_tx에 대한 mesh_send_sync 호출 전에 hci_cmd_sync_dequeue()를 호출하여 큐에서 제거합니다. 만약 엔트리가 발견되어 디큐되면, 해당 destroy 콜백이 완료되며 객체가 해제됩니다; 그렇지 않은 경우 mesh_send_complete()가 직접 호출됩니다.

추가적으로 취소 또는 오류 발생 후 전송 대기열(queue)의 진행 상황을 보장해야 합니다. mesh_send_start_complete() 함수 내에서 err가 -ECANCELED가 아닌 경우 에러 시 mesh_next()를 호출합니다. 이는 hci_cmd_sync_dequeue()가 hdev->cmd_sync_work_lock을 보유하고 있으며, mesh_next()를 동기적으로 호출하면 데드락(deadlock)이 발생할 수 있기 때문입니다. 대신 send_cancel()에서 잠금(lock)이 해제되고 전송 작업이 진행 중이지 않은 경우 대기열의 진행 상황을 업데이트합니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-422170

EPSS

0.00000

출처

Do you know our Splunk app?

Download it now for free!