🇰🇷 한글 설명
Linux 커널의 mm 서브시스템이 CONFIG_STRICT_DEVMEM 보호 메커니즘을 제대로 시행하지 않아, 로컬 사용자가 /dev/mem 파일을 통해 커널 메모리의 첫 1MB 영역을 읽거나 쓸 수 있습니다. 이를 통해 slab 할당 접근 제한을 우회하고 커널 메모리에 직접 접근할 수 있습니다.
💡 쉬운 설명
컴퓨터의 메모리 보호 기능에 문제가 있어서, 로컬 사용자가 /dev/mem 파일을 통해 커널 메모리에 직접 접근할 수 있게 됩니다. 이를 이용하면 시스템 정보를 훔치거나 커널 기능을 손상시킬 수 있습니다.
🇺🇸 원문 (English)
The mm subsystem in the Linux kernel through 3.2 does not properly enforce the CONFIG_STRICT_DEVMEM protection mechanism, which allows local users to read or write to kernel memory locations in the first megabyte (and bypass slab-allocation access restrictions) via an application that opens the /dev/mem file, related to arch/x86/mm/init.c and drivers/char/mem.c.
📍 영향받는 시스템
Linux kernel through 3.2 (arch/x86/mm/init.c, drivers/char/mem.c 관련 버전)
⚔️ 공격 벡터
/dev/mem 파일을 열어 커널 메모리의 첫 1MB 영역에 직접 읽기/쓰기 접근 (로컬 사용자 권한 필요)
🛡️ 대응 방법
Linux 커널을 최신 버전으로 업그레이드하고 CONFIG_STRICT_DEVMEM이 활성화된 패치 버전 적용
🔧 검증 코드
커널 버전이 3.2 이하이거나 CONFIG_STRICT_DEVMEM이 '=n'이면 취약하며, '=y'이면 보호됨
uname -r && grep CONFIG_STRICT_DEVMEM /boot/config-$(uname -r) 2>/dev/null | grep -q '=y' && echo 'Protected' || echo 'Unprotected'