🇰🇷 한글 설명
Linux 커널의 Bluetooth mgmt 모듈에서 페어링 명령 취소 시 Use-After-Free(UAF) 취약점이 발견되었습니다. 페어링 완료 콜백과 명령 취소 요청이 동시에 발생할 경우, 이미 해제된 메모리 주소에 접근하거나 중복 삭제를 시도하여 시스템 불안정이나 권한 상승을 초래할 수 있습니다.
💡 쉬운 설명
블루투스 기기를 연결하거나 취소하는 과정에서 컴퓨터가 이미 지워버린 데이터를 다시 사용하려고 시도하는 오류가 있습니다. 이로 인해 시스템이 멈추거나 해커가 시스템 제어권을 얻을 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: mgmt: fix UAF in pair command cancellation
The pairing completion and authentication failure callbacks look up the
pending MGMT_OP_PAIR_DEVICE command by walking hdev->mgmt_pending. The
lookup returned a command that was still linked on the shared pending list,
without keeping mgmt_pending_lock held for the later dereference and
removal.
A concurrent MGMT_OP_CANCEL_PAIR_DEVICE request can remove and free the
same pending command before the callback uses it. The reverse race is also
possible when cancel_pair_device() gets a command from pending_find() and a
callback removes it before the cancel path dereferences it. This can lead
to a use-after-free and a second list_del().
Make the pairing lookup helpers transfer ownership of the pending command
by removing it from hdev->mgmt_pending while holding mgmt_pending_lock.
The callbacks and cancel path then complete the command and free it
directly, so racing paths cannot find or free the same command again. Take
a temporary hci_conn reference in cancel_pair_device() because the command
completion drops the reference stored in the pending command.
📍 영향받는 시스템
Linux Kernel (Bluetooth mgmt 모듈 포함 버전)
⚔️ 공격 벡터
블루투스 페어링 요청과 취소 요청을 동시에 보내는 레이스 컨디션(Race Condition) 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인하십시오.
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux