🇰🇷 한글 설명
리눅스 커널의 Bluetooth MGMT 모듈 내 parse_adv_monitor_pattern() 함수에서 Out-of-Bounds(OOB) 접근 취약점이 발견되었습니다. 사용자 공간에서 설정된 패턴 길이가 구조체의 배열 크기인 31을 초과할 경우, 메모리 경계를 벗어난 접근이 발생할 수 있습니다.
💡 쉬운 설명
블루투스 설정 정보를 처리하는 과정에서 데이터의 길이를 제대로 검사하지 않아 발생하는 오류입니다. 공격자가 조작된 데이터를 보내면 시스템의 허용된 메모리 범위를 넘어 다른 데이터를 읽거나 쓸 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: MGMT: Fix OOB access in parse_adv_monitor_pattern()
In the parse_adv_monitor_pattern() function, the value of
the 'length' variable is currently limited to HCI_MAX_EXT_AD_LENGTH(251).
The size of the 'value' array in the mgmt_adv_pattern structure is 31.
If the value of 'pattern[i].length' is set in the user space
and exceeds 31, the 'patterns[i].value' array can be accessed
out of bound when copied.
Increasing the size of the 'value' array in
the 'mgmt_adv_pattern' structure will break the userspace.
Considering this, and to avoid OOB access revert the limits for 'offset'
and 'length' back to the value of HCI_MAX_AD_LENGTH.
Found by InfoTeCS on behalf of Linux Verification Center
(linuxtesting.org) with SVACE.
📍 영향받는 시스템
Bluetooth MGMT 모듈을 사용하는 Linux Kernel 버전
⚔️ 공격 벡터
사용자 공간(User space)에서 조작된 길이 값을 가진 블루투스 광고 모니터링 패턴 데이터를 전송
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 수정된 최신 패치 버전인지 확인