🇰🇷 한글 설명
리눅스 커널의 Bluetooth MGMT 모듈에서 HCI 명령이 취소될 때 메모리가 해제되지 않는 취약점이 발견되었습니다. 이로 인해 명령 데이터가 누수될 뿐만 아니라, 소켓 참조가 유지되어 관리 소켓이 영구적으로 해제되지 않는 문제가 발생합니다.
💡 쉬운 설명
블루투스 명령을 취소했을 때 컴퓨터의 메모리가 제대로 비워지지 않고 계속 쌓이는 버그입니다. 이 문제가 지속되면 메모리가 부족해지거나 시스템 자원이 낭비될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: MGMT: free the HCI command when it is cancelled
mgmt_hci_cmd_sync() queues the pending command with a NULL destroy
callback, so it is only freed if send_hci_cmd_sync() runs. A cancelled
entry is leaked, as _hci_cmd_sync_cancel_entry() does not release
entry->data when there is no destroy callback, and hci_cmd_sync_clear()
cancels every pending entry when the controller is unregistered. Nothing
else reclaims it either: mgmt_pending_new() does not put the command on
hdev->mgmt_pending.
The leak also pins the socket reference taken by mgmt_pending_new(), so
the mgmt socket is never released.
Free the command from a destroy callback. The now-empty done label is
replaced by a direct return.
📍 영향받는 시스템
Linux Kernel (Bluetooth MGMT module)
⚔️ 공격 벡터
로컬 공격자가 블루투스 명령을 반복적으로 생성하고 취소하여 메모리 누수를 유발할 수 있음
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.