🇰🇷 한글 설명
Linux 커널의 net/ipv4/raw.c 파일에 있는 raw_sendmsg() 함수의 inet->hdrincl에서 race condition이 발생합니다. 초기화되지 않은 스택 포인터를 사용하게 되어 로컬 사용자가 임의의 코드 실행 및 권한 상승을 수행할 수 있습니다.
💡 쉬운 설명
리눅스 시스템의 네트워킹 코드에서 동시 접근으로 인한 타이밍 오류가 발생합니다. 컴퓨터에 접속할 수 있는 일반 사용자가 이를 악용하여 관리자 권한을 탈취할 수 있습니다.
🇺🇸 원문 (English)
The raw_sendmsg() function in net/ipv4/raw.c in the Linux kernel through 4.14.6 has a race condition in inet->hdrincl that leads to uninitialized stack pointer usage; this allows a local user to execute code and gain privileges.
📍 영향받는 시스템
Linux kernel 4.14.6 이하 (2.x, 3.x, 4.0 ~ 4.14.6)
⚔️ 공격 벡터
로컬 사용자가 raw socket을 이용하여 race condition을 트리거하고 스택 메모리 초기화 오류를 악용
🛡️ 대응 방법
Linux kernel을 4.14.7 이상으로 업그레이드
🔧 검증 코드
커널 버전이 4.14.6 이하면 VULNERABLE, 4.14.7 이상이면 PATCHED로 표시됩니다.
uname -r | awk -F'[.|-]' '{v=$1*10000+$2*100+$3; if(v<=41406) print "VULNERABLE"; else print "PATCHED"}'