🇰🇷 한글 설명
Linux 커널의 Bluetooth L2CAP 프로토콜에서 발생하는 Use-After-Free(UAF) 취약점입니다. 특정 소켓 옵션 설정 과정에서 연결된 HCI 연결 객체가 이미 삭제되었음에도 불구하고 이를 참조하여 메모리 오류 및 KASAN 크래시를 유발할 수 있습니다.
💡 쉬운 설명
블루투스 연결이 끊어진 상태에서 시스템이 해당 연결 정보를 잘못 참조하여 컴퓨터가 갑자기 멈추거나 오류가 발생하는 문제입니다. 해커가 이를 악용하면 시스템을 강제로 종료시키거나 보안을 무너뜨릴 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: L2CAP: access chan->conn safely in get/setsockopt
Since commit b66774b48dd9 ("Bluetooth: L2CAP: Fix UAF in channel timeout by holding conn ref")
l2cap_chan::conn has held reference and remains non-NULL also after the
corresponding hci_conn is deleted. In this state accessing various
fields eg. hci_conn::hdev is invalid, which leads to KASAN crash in
l2cap_sock_setsockopt() access of conn->hcon->hdev.
Check l2cap_chan::conn.hcon corresponds to an alive hci_conn before
trying to use it in l2cap_sock.c. Hold l2cap_chan_lock() in
getsockopt/setsockopt to ensure it stays alive, and to avoid data races
in l2cap_chan fields.
📍 영향받는 시스템
L2CAP 채널 참조 방식에 취약점이 포함된 이전 버전의 Linux 커널
⚔️ 공격 벡터
블루투스 L2CAP 프로토콜을 사용하는 네트워크 요청을 통해 메모리 참조 오류 유도
🛡️ 대응 방법
커널 패치(commit b66774b48dd48dd 이후 버전)를 적용하여 L2CAP 채널 잠금 및 참조 확인 로직 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인합니다.