🇰🇷 한글 설명
리눅스 커널의 블루투스 MGMT 인터페이스에서 확장 광고 데이터 길이를 검증하지 않아 발생하는 취약점입니다. 공격자가 짧은 명령을 통해 경계 밖의 메모리 데이터를 읽어낼 수 있는 slab-out-of-bounds read 취약점이 존재합니다.
💡 쉬운 설명
블루투스 설정 과정에서 데이터의 길이를 제대로 확인하지 않아, 컴퓨터 메모리의 허용되지 않은 영역을 몰래 읽을 수 있는 보안 약점입니다. 이를 통해 시스템 내부의 민감한 정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: MGMT: validate Add Extended Advertising Data length
MGMT_OP_ADD_EXT_ADV_DATA is registered as a variable-length command,
with MGMT_ADD_EXT_ADV_DATA_SIZE as the fixed header size. The handler
then uses cp->adv_data_len and cp->scan_rsp_len to validate and copy
cp->data, but it never checks that those bytes are part of the mgmt
command payload.
A short command can therefore make add_ext_adv_data() pass an
out-of-bounds pointer into tlv_data_is_valid(). If the bytes beyond
the command buffer are addressable, they can also be copied into the
advertising instance as scan response data, where the caller can read
them back via MGMT_OP_GET_ADV_INSTANCE. The trigger requires
CAP_NET_ADMIN in the initial user namespace; KASAN reports an 8-byte
slab-out-of-bounds read.
Reject commands whose length does not match the fixed header plus both
advertising data lengths before parsing cp->data.
📍 영향받는 시스템
Linux Kernel (Bluetooth MGMT component)
⚔️ 공격 벡터
CAP_NET_ADMIN 권한을 가진 사용자가 조작된 길이의 MGMT_OP_ADD_EXT_ADV_DATA 명령을 전송
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인