🇰🇷 한글 설명
Linux 커널의 Bluetooth L2CAP 프로토콜에서 l2cap_ecred_reconf_rsp() 함수가 데이터 타입을 잘못 캐스팅하는 타입 혼동(Type Confusion) 취약점이 발견되었습니다. 이로 인해 정상적인 ECRED 재설정 응답 패킷이 거부되거나, 패킷 크기가 충분할 경우 잘못된 결과 데이터가 읽힐 수 있습니다.
💡 쉬운 설명
블루투스 통신 과정에서 데이터를 읽는 방식에 오류가 있어, 정상적인 신호를 오류로 인식하거나 잘못된 정보를 읽어올 수 있는 문제입니다. 이로 인해 블루투스 연결이 끊기거나 통신 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: L2CAP: Fix type confusion in l2cap_ecred_reconf_rsp()
l2cap_ecred_reconf_rsp() casts the incoming data to struct
l2cap_ecred_conn_rsp (the ECRED *connection* response, 8 bytes with
result at offset 6) instead of struct l2cap_ecred_reconf_rsp (2 bytes
with result at offset 0).
This causes two problems:
- The sizeof(*rsp) length check requires 8 bytes instead of the
correct 2, so valid L2CAP_ECRED_RECONF_RSP packets are rejected
with -EPROTO.
- rsp->result reads from offset 6 instead of offset 0, returning
wrong data when the packet is large enough to pass the check.
Fix by using the correct type. Also pass the already byte-swapped
result variable to BT_DBG instead of the raw __le16 field.
📍 영향받는 시스템
Linux Kernel (Bluetooth L2CAP 관련 모듈 사용 시스템)
⚔️ 공격 벡터
조작된 L2CAP_ECRED_RECONF_RSP 패킷을 전송하여 발생
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 확인