🇰🇷 한글 설명
리눅스 커널의 Bluetooth btintel_pcie 드라이버에서 plen 변수의 오버플로 취약점이 발견되었습니다. ACL/ISO 프레임의 dlen 값이 매우 클 경우 합산 과정에서 오버플로가 발생하여 보안 검사를 우회하고 패킷을 잘못 자를 수 있는 문제입니다.
💡 쉬운 설명
블루투스 통신 과정에서 데이터 크기를 계산할 때 숫자가 너무 커져서 오류가 발생하는 문제입니다. 이 오류를 이용하면 공격자가 시스템의 데이터 처리를 방해하거나 비정상적인 동작을 유도할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: btintel_pcie: fix plen overflow in btintel_pcie_recv_frame()
plen is u16 and computed as HDR_SIZE + dlen. For ACL/ISO frames dlen
is a 16-bit field, so a value >= 0xFFFC wraps the sum, bypassing the
"skb->len < plen" check and letting skb_trim() truncate the packet.
Widen plen to u32 so the addition cannot wrap.
📍 영향받는 시스템
Linux kernel (btintel_pcie 드라이버를 사용하는 Intel Bluetooth PCIe 장치 탑재 시스템)
⚔️ 공격 벡터
조작된 크기의 Bluetooth ACL/ISO 프레임을 전송하여 오버플로 유도
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 plen 변수 타입을 u32로 확장
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인