🇰🇷 한글 설명
리눅스 커널의 dm-stats 구성 요소에서 per-cpu 데이터 할당 실패 시 발생하는 크래시 취약점입니다. 할당 실패 시 NULL 포인터를 참조하여 dm_stat_free 함수가 호출되면서 시스템이 충돌할 수 있는 문제가 있었습니다.
💡 쉬운 설명
컴퓨터의 메모리를 빌려오는 과정에서 오류가 발생했을 때, 시스템이 이를 제대로 처리하지 못하고 갑자기 멈춰버리는 버그입니다. 이로 인해 시스템이 예기치 않게 재시작되거나 중단될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
dm-stats: fix a crash if allocation of per-cpu data fails
If "dm_kvzalloc(percpu_alloc_size, cpu_to_node(cpu))" fails, the code
jumps to the "out" label and calls dm_stat_free. dm_stat_free does
"for_each_possible_cpu(cpu) { dm_kvfree(s->stat_percpu[cpu][0].histogram,
s->histogram_alloc_size);", which crashes with NULL pointer dereference
if s->stat_percpu[cpu] is NULL.
This commit fixes the bug by testing s->stat_percpu[cpu] for NULL before
using it.
📍 영향받는 시스템
dm-stats 모듈을 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
메모리 할당 실패를 유도할 수 있는 특수한 상황을 통한 로컬 시스템 서비스 거부(DoS)
🛡️ 대응 방법
해당 취약점이 수정된 최신 리눅스 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 보안 업데이트 버전인지 확인