🇰🇷 한글 설명
리눅스 커널의 tracing 기능에서 subbuf 크기 조정 시 발생하는 레이스 컨디션 취약점입니다. 이로 인해 trace_pipe_raw 읽기 작업 중 시스템 충돌이 발생하거나 초기화되지 않은 메모리가 사용자 공간으로 유출될 수 있습니다.
💡 쉬운 설명
데이터를 기록하는 통로의 크기가 바뀌는 순간에 데이터를 읽으려고 하면 충돌이 나거나 보안 정보가 샐 수 있는 문제입니다. 시스템이 갑자기 멈추거나 중요한 메모리 내용이 노출될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tracing: Fix subbuf resize races with trace_pipe_raw readers
Concurrent subbuffer resizes may crash trace_pipe_raw readers or leak
uninitialized memory to userspace due to stale size values.
Modify ring_buffer_alloc_read_page() to handle the resizing of an
existing buffer_data_read_page if necessary and add a new
ring_buffer_read_page_size(). This new function enables ring-buffer
buffer_data_read_page users to not call the racy
ring_buffer_subbuf_size_get(). This makes the spare_size member of
ftrace_buffer_info redundant.
Finally, handle buffer_data_read_page/reader_page order discrepancy in
ring_buffer_read_page(). On a mismatch simply copy manually the data to
the buffer_data_read_page.
📍 영향받는 시스템
Linux Kernel (tracing/ring_buffer 관련 모듈 사용 시스템)
⚔️ 공격 벡터
동시성 제어 미흡을 이용한 레이스 컨디션 유도 (Local/Privilege Escalation 가능성)
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인하십시오.