🇰🇷 한글 설명
리눅스 커널의 ring-buffer 할당 과정에서 rb_allocate_cpu_buffer() 함수가 reader page의 order 값을 제대로 초기화하지 않는 취약점입니다. 이로 인해 subbuf 크기가 PAGE_SIZE보다 큰 경우, 메모리 해제 시 잘못된 order 값이 사용되어 문제가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터 메모리를 빌려 쓰고 돌려주는 과정에서, 빌린 크기를 제대로 기록하지 않아 나중에 돌려줄 때 오류가 발생하는 문제입니다. 이 오류는 시스템의 메모리 관리 체계에 혼란을 줄 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ring-buffer: Initialise reader page order in rb_allocate_cpu_buffer()
In rb_allocate_cpu_buffer(), bpage->order was omitted, leaving it as 0.
This is an issue for a ring-buffer with subbufs bigger than PAGE_SIZE if
when freed: free_buffer_page() relies on this value. Align the value
with the actual allocation size (buffer::subbuf_order).
📍 영향받는 시스템
Linux Kernel (ring-buffer 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 크기의 ring-buffer를 할당하고 해제하는 과정을 통해 메모리 관리 오류를 유도할 수 있음
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 rb_allocate_cpu_buffer()의 수정 사항을 반영해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인해야 함