CVE-2022-50339 in Linux
요약
\~에 의해 VulDB • 2026. 05. 17.
리눅스 커널에서 다음 취약점이 해결되었습니다:
블루투스: mgmt_init_hdev()에서 hci_dev_test_and_set_flag() 사용 피하기
syzbot이 mgmt_index_removed() [1]에서 초기화되지 않은 작업을 취소하려는 시도를 다시 보고하고 있습니다. hci_sock_sendmsg()에서 hci_mgmt_cmd()를 거쳐 mgmt_init_hdev()로 설정되는 HCI_MGMT 플래그는 hci_sock_bind()에서 mgmt_index_removed()를 통해 HCI_MGMT 플래그를 테스트하는 과정과 hci_dev_lock()을 통한 직렬화 부재로 인해 경합(race) 상태가 될 수 있습니다.
mgmt_init_hdev()는 mgmt_chan_list_lock이 유지된 상태에서 호출되므로, hci_dev_test_and_set_flag()를 hci_dev_test_flag()와 hci_dev_set_flag()로 안전하게 분리할 수 있습니다. 따라서 이 경합 상태를 해결하기 위해 INIT_DELAYED_WORK() 완료 후 HCI_MGMT 플래그를 설정합니다.
이 수정은 mgmt_chan_list_lock을 기반으로 한 로컬 해결책입니다. hci_dev_lock()을 통한 직렬화 부재가 다른 곳에서 다른 경합 조건을 유발하고 있을 수 있습니다. 하지만 hci_dev_lock()을 기반으로 한 전역적 해결책은 향후 패치에서 다뤄야 할 가치가 있습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.