🇰🇷 한글 설명
리눅스 커널의 tracing 기능 중 show_event_filters 및 show_event_triggers 파일이 trace_array에 대한 참조를 유지하지 않아 발생하는 취약점입니다. 파일 읽기 작업 중에 trace_array가 삭제될 경우 Use-After-Free 오류가 발생하여 시스템 충돌을 유발할 수 있습니다.
💡 쉬운 설명
시스템의 기록을 보여주는 파일을 읽는 도중에 해당 기록 데이터가 갑자기 삭제되어 컴퓨터가 멈추거나 오류가 발생하는 문제입니다. 데이터가 사용 중일 때는 삭제되지 않도록 안전장치를 추가하여 해결했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tracing: Have show_event_filters/triggers files take trace array ref
The newly added files show_event_filters and show_event_triggers that show
all filters or triggers that are set within the trace array do not take a
reference for the trace array it is showing. Without taking a reference,
the trace_array may be freed via "rmdir" while a task is reading one of
theses files. Those files iterate all the events within an instance
(trace_array) and nothing prevents that instance from being freed while
its data is being read. This causes a use-after-free crash.
Have the open of both those files take the trace_array reference via the
trace_array_get() that prevents the trace_array from being freed while the
files are opened.
📍 영향받는 시스템
Linux Kernel (tracing subsystem 관련 버전)
⚔️ 공격 벡터
로컬 사용자가 특정 파일을 읽는 동시에 trace_array를 삭제(rmdir)하여 Use-After-Free 유도
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 trace_array_get() 참조 로직 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.