🇰🇷 한글 설명
리눅스 커널의 Bluetooth RFCOMM MCC 핸들러에서 skb 데이터 길이를 검증하지 않아 발생하는 취약점입니다. 공격자가 조작된 MCC 프레임을 전송할 경우, 데이터 경계를 벗어난 읽기(Out-of-bounds read)가 발생할 수 있습니다.
💡 쉬운 설명
블루투스 연결 과정에서 데이터의 길이를 제대로 확인하지 않아 발생하는 보안 문제입니다. 나쁜 의도를 가진 장치가 짧게 잘린 데이터를 보내면 시스템의 메모리 정보를 몰래 읽어갈 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: RFCOMM: validate skb length in MCC handlers
The RFCOMM MCC handlers cast skb->data to protocol-specific structs
without validating skb->len first. A malicious remote device can send
truncated MCC frames and trigger out-of-bounds reads in these handlers.
Fix this by using skb_pull_data() to validate and access the required
data before dereferencing it.
rfcomm_recv_rpn() requires special handling since ETSI TS 07.10 allows
1-byte RPN requests. Handle this by validating only the DLCI byte first,
and validating the full struct only when len > 1.
📍 영향받는 시스템
Linux Kernel (Bluetooth RFCOMM component)
⚔️ 공격 벡터
원격의 악의적인 블루투스 장치가 조작된 MCC 프레임을 전송하여 공격
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인