🇰🇷 한글 설명
Linux 커널의 Microchip MPFS 시스템 컨트롤러 프로브 함수에서 발생하는 메모리 누수 취약점입니다. of_get_mtd_device_by_node() 함수 실패 시 할당된 메모리를 해제하지 않아 메모리 누수가 발생합니다.
💡 쉬운 설명
리눅스 커널 부팅 시 하드웨어 초기화 중에 에러가 발생하면 사용 중인 메모리를 제대로 반환하지 않습니다. 반복되면 시스템 메모리가 부족해져 성능 저하나 시스템 다운을 초래할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
soc: microchip: mpfs: Fix memory leak in mpfs_sys_controller_probe()
In mpfs_sys_controller_probe(), if of_get_mtd_device_by_node() fails,
the function returns immediately without freeing the allocated memory
for sys_controller, leading to a memory leak.
Fix this by jumping to the out_free label to ensure the memory is
properly freed.
Also, consolidate the error handling for the mbox_request_channel()
failure case to use the same label.
📍 영향받는 시스템
Linux kernel (메모리 관리가 필요한 MPFS 기반 시스템, 일반 x86/ARM 데스크톱/서버는 해당 드라이버 미탑재 시 영향 없음)
⚔️ 공격 벡터
로컬 권한자가 반복적으로 MPFS 시스템 컨트롤러 초기화를 실패하게 유도하여 메모리 누수 유발
🛡️ 대응 방법
Linux 커널을 패치된 버전으로 업그레이드 (해당 취약점 수정 커밋 포함 버전 이상)
🔧 검증 코드
현재 커널 버전 확인 후 해당 함수의 메모리 누수 패치 여부를 확인합니다. 패치되지 않으면 함수가 검색되며, 패치되면 메모리 해제 코드가 추가됩니다.
uname -r && grep -r 'mpfs_sys_controller_probe' /sys/kernel/debug/ 2>/dev/null | head -1