🇰🇷 한글 설명
리눅스 커널의 블루투스 MGMT 계층에서 메시(Mesh) 전송 취소 명령이 취소될 때 메모리가 해제되지 않는 취약점이 발견되었습니다. 이로 인해 취소된 명령 데이터와 소켓 참조가 메모리에 남아 지속적인 메모리 누수를 유발할 수 있습니다.
💡 쉬운 설명
블루투스 명령을 취소했을 때 컴퓨터의 메모리가 제대로 비워지지 않고 계속 쌓이는 문제입니다. 이 현상이 반복되면 시스템의 메모리가 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: MGMT: free the mesh send cancel command when it is cancelled
mesh_send_cancel() queues the pending command with a NULL destroy
callback, so it is only freed if send_cancel() 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.
📍 영향받는 시스템
Linux kernel (Bluetooth MGMT component)
⚔️ 공격 벡터
로컬 공격자가 블루투스 메시 명령을 반복적으로 생성하고 취소하여 메모리 누수를 유발할 수 있음
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 destroy callback이 정상 작동하도록 수정해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.