🇰🇷 한글 설명
Linux 커널의 powerpc/spufs 구성 요소에서 spufs_mem_mmap_access() 함수가 메모리 경계 검사를 잘못 수행하여 발생하는 취약점입니다. 오프셋을 검사할 때 로컬 스토어 크기가 아닌 VMA 종료 지점을 기준으로 확인하여, 64비트 시스템에서 버퍼 범위를 벗어나는 메모리 접근이 가능해집니다.
💡 쉬운 설명
컴퓨터의 특정 메모리 영역을 사용할 때, 정해진 크기보다 더 넓은 범위를 마음대로 읽거나 쓸 수 있는 허점이 발견되었습니다. 이로 인해 시스템의 중요한 데이터가 노출되거나 프로그램이 비정상적으로 동작할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
powerpc/spufs: fix out-of-bounds access in spufs_mem_mmap_access()
spufs_mem_mmap_access() computes the local store offset as
address - vma->vm_start, but bounds-checks it against vma->vm_end
instead of the local store size. On 64-bit, offset is always well
below vma->vm_end, so the clamp never fires and len stays unbounded
against the LS_SIZE buffer returned by ctx->ops->get_ls().
Reject offsets at or beyond LS_SIZE and clamp len to the remaining
space, mirroring the guard already used by spufs_mem_mmap_fault() and
spufs_ps_fault().
📍 영향받는 시스템
Linux Kernel (powerpc/spufs 모듈을 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 조작된 메모리 매핑 요청을 통해 커널 메모리의 경계를 벗어난 접근 시도
🛡️ 대응 방법
spufs_mem_mmap_access() 함수에 LS_SIZE 기반의 경계 검사 로직이 포함된 최신 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인