🇰🇷 한글 설명
Linux 커널의 coresight ultrasoc-smb 구성 요소에서 smb_sync_perf_buffer() 함수 호출 시 경계 외 쓰기(Out-of-Bounds Write) 취약점이 발견되었습니다. 버퍼 크기를 초과하는 데이터가 입력될 때 페이지 인덱스 정규화가 적절히 이루어지지 않아 메모리 영역을 벗어난 쓰기가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 데이터를 저장하는 공간의 크기를 제대로 확인하지 않고 데이터를 넘치게 적어 넣는 오류가 있습니다. 이로 인해 시스템의 중요한 메모리 영역이 망가질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
coresight: ultrasoc-smb: Fix OOB write in smb_sync_perf_buffer()
When the SMB sink is used as a perf AUX sink, smb_update_buffer() calls
smb_sync_perf_buffer() to copy hardware trace data into the perf AUX ring
buffer pages. It derives pg_idx = head >> PAGE_SHIFT from @head, which is
handle->head, and indexes dst_pages[pg_idx]. The pg_idx %= nr_pages
normalization is only applied after the first loop iteration.
This leaves the initial page index underived from the buffer size, which
can result in an out-of-bounds write past dst_pages[] when head exceeds
the AUX buffer size.
Normalize head modulo the AUX buffer size before deriving the page index
and offset, mirroring tmc_etr_sync_perf_buffer().
📍 영향받는 시스템
Linux kernel (coresight: ultrasoc-smb 모듈 사용 시)
⚔️ 공격 벡터
하드웨어 트레이스 데이터가 AUX 버퍼 크기를 초과하도록 유도하여 메모리 오염 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.