🇰🇷 한글 설명
Linux 커널의 Bluetooth hci 모듈에서 코덱 기능 요소를 검증할 때 길이 확인 로직에 오류가 있습니다. 잘못된 컨트롤러 응답이 들어올 경우, 실제 데이터보다 더 많은 바이트를 읽어 메모리 경계를 벗어나는 읽기 오류가 발생할 수 있습니다.
💡 쉬운 설명
블루투스 기기가 컴퓨터에 잘못된 정보를 보낼 때, 컴퓨터가 그 정보를 확인하는 과정에서 실수로 허용되지 않은 메모리 영역까지 읽어버리는 문제입니다. 이로 인해 시스템의 보안이 취약해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci: validate codec capability element length
Read Local Codec Capabilities returns a sequence of capability elements.
Each element starts with a one-byte length followed by that many payload
bytes.
hci_read_codec_capabilities() checks that the skb contains the length
byte, but then validates only caps->len against the remaining skb
length. A malformed controller response with one remaining byte and
caps->len set to one passes that check even though the element needs two
bytes. The parser then records a two-byte capability and copies one
byte beyond the advertised response payload into the codec list.
Validate the full element size, including the length byte, before adding
it to the accumulated capability length. This preserves all well-formed
capability elements and drops only truncated controller responses.
📍 영향받는 시스템
Linux kernel (Bluetooth hci subsystem)
⚔️ 공격 벡터
악의적으로 조작된 블루투스 컨트롤러 응답을 통한 메모리 경계 외 읽기(Out-of-bounds Read)
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.