🇰🇷 한글 설명
리눅스 커널의 ring-buffer 구성 요소에서 subbuf 크기 조정 시 발생하는 레이스 컨디션 취약점입니다. ring_buffer_alloc_read_page() 함수가 업데이트되지 않은 order 값을 사용하여 페이지를 할당할 경우, 할당된 메모리와 실제 order 값이 일치하지 않을 수 있습니다.
💡 쉬운 설명
데이터를 저장하는 임시 공간의 크기를 조절하는 과정에서 시스템이 혼란을 겪어 메모리를 잘못 할당할 수 있는 문제입니다. 이로 인해 시스템의 안정성이 떨어지거나 예기치 않은 동작이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ring-buffer: Fix subbuf resize race with ring_buffer_alloc_read_page()
ring_buffer_alloc_read_page() is racy with ring_buffer_subbuf_order_set,
it can allocate a reader page with an outdated order. This isn't a big
issue, the user can still re-allocate a new reader page and try again.
However, what is more problematic is if the value of subbuf_order
changes in the middle of ring_buffer_alloc_read_page(). In that case,
bpage->order might not match the actual allocated memory.
Use bpage->order for the allocation to prevent this race.
📍 영향받는 시스템
Linux Kernel (ring-buffer 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 시스템 호출을 통해 ring-buffer의 크기 조정 과정을 유도하여 레이스 컨디션을 발생시킴
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인하십시오.