🇰🇷 한글 설명
Linux 커널 powerpc/smp 모듈에서 메모리 할당 함수 kcalloc()의 실패 여부를 확인하지 않아 발생하는 NULL 포인터 역참조 취약점입니다. of_property_read_u32_array() 함수 호출 시 NULL 포인터가 전달되어 커널 패닉을 유발할 수 있습니다.
💡 쉬운 설명
PowerPC 프로세서 기반 Linux 시스템에서 메모리 할당이 실패했을 때를 제대로 처리하지 않아 시스템이 갑자기 멈출 수 있는 문제입니다. 영향 범위는 제한적(CVSS 5.5)이나 로컬 공격자에 의해 악용될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
powerpc/smp: Add check for kcalloc() failure in parse_thread_groups()
As kcalloc() may fail, check its return value to avoid a NULL pointer
dereference when passing it to of_property_read_u32_array().
📍 영향받는 시스템
Linux kernel powerpc/smp 아키텍처 (v5.x 이전 패치 적용 전 모든 버전)
⚔️ 공격 벡터
로컬(Local) - 시스템 접근 권한이 있는 사용자가 특정 스레드 그룹 파싱 시나리오에서 메모리 할당 실패를 유발
🛡️ 대응 방법
Linux 커널을 최신 안정 버전으로 업그레이드하여 parse_thread_groups() 함수의 kcalloc() 검사 패치 적용
🔧 검증 코드
if 문으로 kcalloc() 반환값을 검사하는 코드가 있으면 패치됨. 없으면 취약점 존재.
grep -r 'if.*kcalloc.*parse_thread_groups' /usr/src/linux*/arch/powerpc/kernel/smp.c 2>/dev/null || (uname -r && echo 'Check kernel source for kcalloc return value check in parse_thread_groups')