🇰🇷 한글 설명
Linux 커널의 ring-buffer 트레이싱 함수 rb_read_data_buffer()에서 이벤트 길이를 사전에 검증하지 않아, 손상된 ring buffer 접근 시 유효하지 않은 메모리 영역에 접근할 수 있는 취약점입니다. 부팅 중 유효하지 않은 메모리 접근을 방지하기 위해 각 이벤트의 길이를 사용 전에 범위 검증이 필요합니다.
💡 쉬운 설명
Linux 커널의 메모리 추적 시스템에서 손상된 데이터를 검증 없이 처리하면 시스템이 잘못된 메모리 주소를 읽으려고 시도합니다. 이를 통해 시스템 안정성이 영향받을 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tracing: ring-buffer: Fix to check event length before using
Check the event length before adding it for accessing next index in
rb_read_data_buffer(). Since this function is used for validating
possibly broken ring buffers, the length of the event could be broken.
In that case, the new event (e + len) can point a wrong address.
To avoid invalid memory access at boot, check whether the length of
each event is in the possible range before using it.
📍 영향받는 시스템
Linux kernel (구체적 버전은 배포판별로 상이하며, 일반적으로 최신 kernel 5.15 이상의 일부 버전)
⚔️ 공격 벡터
시스템 부팅 중 손상된 ring buffer 데이터를 통한 메모리 접근 (로컬 접근 필요)
🛡️ 대응 방법
Linux kernel을 패치된 최신 버전으로 업데이트 (배포판의 보안 업데이트 적용)
🔧 검증 코드
현재 커널 버전이 영향받을 수 있는 범위(5.15+, 6.x)에 있는지 확인하고, 배포판의 보안 업데이트를 통해 최신 패치 버전으로 업그레이드되었는지 확인하세요.
uname -r | grep -E '^(5\.(15|16|17)|6\.)' && echo 'Kernel check complete'