🇰🇷 한글 설명
Linux 커널의 Bluetooth RFCOMM 모듈에서 setsockopt 호출 시 사용자 입력 길이를 검증하지 않아 메모리 경계 외 영역(slab-out-of-bounds)에 대한 읽기가 발생합니다. 로컬 사용자가 이를 악용하여 커널 메모리 정보를 유출하거나 서비스 거부를 유발할 수 있습니다.
💡 쉬운 설명
리눅스의 블루투스 기능에서 입력 데이터 크기를 확인하지 않아 메모리를 잘못 접근할 수 있습니다. 이를 통해 공격자가 시스템 정보를 빼내거나 시스템을 중단시킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: RFCOMM: Fix not validating setsockopt user input
syzbot reported rfcomm_sock_setsockopt_old() is copying data without
checking user input length.
BUG: KASAN: slab-out-of-bounds in copy_from_sockptr_offset
include/linux/sockptr.h:49 [inline]
BUG: KASAN: slab-out-of-bounds in copy_from_sockptr
include/linux/sockptr.h:55 [inline]
BUG: KASAN: slab-out-of-bounds in rfcomm_sock_setsockopt_old
net/bluetooth/rfcomm/sock.c:632 [inline]
BUG: KASAN: slab-out-of-bounds in rfcomm_sock_setsockopt+0x893/0xa70
net/bluetooth/rfcomm/sock.c:673
Read of size 4 at addr ffff8880209a8bc3 by task syz-executor632/5064
📍 영향받는 시스템
Linux kernel (모든 아키텍처), Bluetooth RFCOMM 모듈 활성화된 시스템
⚔️ 공격 벡터
로컬 사용자가 RFCOMM 소켓의 setsockopt 호출 시 검증되지 않은 길이의 데이터를 전송
🛡️ 대응 방법
Linux 커널을 4.14.336 이상, 5.10.212 이상, 5.15.151 이상, 6.1.80 이상, 6.6.21 이상, 6.7.9 이상, 또는 6.8.2 이상으로 업데이트
🔧 검증 코드
현재 커널 버전이 위의 권장 버전 이상이면 패치가 적용된 상태이며, 그 이하면 업데이트 필요