CVE-2026-98738 in Linux정보

요약

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

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

블루투스: SMP 원격 OOB 데이터 접근 직렬화

build_pairing_cmd() 함수는 원격 OOB 데이터를 조회하고 hdev->lock(리스트의 작성자를 직렬화하는 락)을 보유하지 않은 채 그 내용을 복사합니다. SMP가 항목을 찾은 후, 동시에 실행되는 관리 명령인 'Remove Remote OOB Data'는 SMP가 해당 항목의 present 플래그를 읽거나 무작위 값 및 확인 값을 복사하기 전에 해당 항목을 언링크하고 해제할 수 있습니다. 또한 조회 작업이 아직 리스트를 순회하는 동안에도 제거 작업으로 인해 항목이 유효하지 않게 될(invalidate) 수 있습니다.

KASAN에서 다음 오류가 보고되었습니다:

BUG: KASAN: slab-use-after-free in build_pairing_cmd+0x948/0x9b0 Call Trace: build_pairing_cmd+0x948/0x9b0 smp_recv_cb+0x459f/0x8110 l2cap_recv_frame+0xf14/0x9190 l2cap_recv_acldata+0xa64/0xd40 hci_rx_work+0x4ca/0x730

작업자 87에 의해 할당됨: hci_add_remote_oob_data+0x11d/0x530 add_remote_oob_data+0x282/0x400 hci_sock_sendmsg+0x1033/0x1ea0

작업자 93에 의해 해제됨: hci_remote_oob_data_clear+0x108/0x1c0 remove_remote_oob_data+0x198/0x220 hci_sock_sendmsg+0x1033/0x1ea0

build_pairing_cmd()에서 hdev->lock을 획득하면 이미 해당 락을 보유하고 있는 호출자들에 대해 재귀(recursion)가 발생하고, 수신 경로(receive path)상에서 장치(L2CAP 간락 순서가 역전됩니다. 이를 해결하기 위해 SMP 조회 및 복사 작업과 추가(add), 제거(remove), 지우기(clear) 헬퍼 함수들이 보유하는 per-device remote_oob_lock을 도입합니다. 또한 초기화 및 인플레이스(in-place) 업데이트도 커버하여 SMP가 부분적으로 초기화된 상태이거나 갱신 중인 OOB 값을 읽지 못하도록 합니다. 할당 실패 시 기존 오류 반환값을 유지하면서 뮤텍스를 해제합니다.

새로운 임계 영역(critical sections)은 장치, 연결 또는 채널 락을 획득하지 않습니다. 작성자(writers)는 기존의 hdev->lock 보호를 계속 유지하며, 이는 다른 읽기 작업자들의 직렬화를 변경 없이 그대로 수행합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-421963

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!