🇰🇷 한글 설명
Linux 커널의 Bluetooth btintel_pcie 드라이버에서 패킷 길이를 검증하지 않아 발생하는 취약점입니다. rfh_hdr에서 읽어온 packet_len이 수신 버퍼 크기를 초과할 경우 skb_put_data() 함수에서 경계 외 읽기(out-of-bounds read)가 발생할 수 있습니다.
💡 쉬운 설명
블루투스 장치로부터 전달받은 데이터의 크기가 실제 준비된 공간보다 큰지 확인하지 않아 발생하는 문제입니다. 잘못된 크기의 데이터를 처리하려다 시스템의 메모리 영역을 잘못 읽을 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: btintel_pcie: validate packet_len before skb_put_data
btintel_pcie_submit_rx_work() reads packet_len from rfh_hdr without
checking if it exceeds the RX buffer size. An oversized packet_len
can lead to an out-of-bounds read in skb_put_data().
Validate packet_len to ensure it is non-zero and does not exceed
BTINTEL_PCIE_BUFFER_SIZE - sizeof(*rfh_hdr), logging an error when
invalid.
This issue was reported by Claude Mythos. It can be simulated either by
using customized firmware configured to return an invalid packet_len or
by modifying rfh_hdr->packet_len in the driver before calling
btintel_pcie_submit_rx_work().
📍 영향받는 시스템
Linux kernel (btintel_pcie 드라이버를 사용하는 Intel Bluetooth PCIe 장치 탑재 시스템)
⚔️ 공격 벡터
조작된 펌웨어를 사용하거나 드라이버 내의 헤더 값을 수정하여 비정상적으로 큰 패킷 길이를 전달
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 packet_len 검증 로직을 적용
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인