🇰🇷 한글 설명
Linux kernel의 move_pages 시스템 콜이 타겟 프로세스의 effective uid를 검증하지 않아, 로컬 공격자가 ASLR에도 불구하고 setuid 실행파일의 메모리 레이아웃을 학습할 수 있는 정보 유출 취약점입니다.
💡 쉬운 설명
Linux에서 일반 사용자가 시스템 명령어의 메모리 위치 정보를 몰래 얻을 수 있는 버그입니다. 보안 기능(ASLR)을 우회하여 특정 프로그램이 메모리 어디에 있는지 알아낼 수 있게 합니다.
🇺🇸 원문 (English)
The move_pages system call in mm/migrate.c in the Linux kernel before 4.12.9 doesn't check the effective uid of the target process, enabling a local attacker to learn the memory layout of a setuid executable despite ASLR.
📍 영향받는 시스템
Linux kernel 4.12.8 이하 (4.12.9 미만)
⚔️ 공격 벡터
로컬 공격자가 move_pages 시스템 콜을 악용하여 setuid 프로세스의 메모리 주소 정보 수집
🛡️ 대응 방법
Linux kernel을 4.12.9 이상으로 업그레이드
🔧 검증 코드
명령어 결과에서 커널 버전이 4.12.8 이하면 VULNERABLE, 4.12.9 이상이면 PATCHED로 표시됩니다.
uname -r | awk -F'[.-]' '{v=$1; if(v<4 || (v==4 && $2<12) || (v==4 && $2==12 && $3<9)) print "VULNERABLE: "$0; else print "PATCHED: "$0}'