🇰🇷 한글 설명
64비트 플랫폼의 Linux 커널 2.6.36-rc4-git2 이전 버전에서 compat_alloc_user_space 함수가 32비트 호환 레이어에 필요한 사용자 공간 메모리를 적절히 할당하지 못하는 취약점입니다. 이로 인해 발생하는 스택 포인터 언더플로우 문제를 악용하여 로컬 사용자가 권한을 상승시킬 수 있습니다.
💡 쉬운 설명
컴퓨터의 64비트 시스템에서 32비트 프로그램을 실행할 때 메모리를 관리하는 과정에 오류가 있는 문제입니다. 해커가 이 오류를 이용해 일반 사용자 권한에서 관리자 권한을 뺏어올 수 있습니다.
🇺🇸 원문 (English)
The compat_alloc_user_space functions in include/asm/compat.h files in the Linux kernel before 2.6.36-rc4-git2 on 64-bit platforms do not properly allocate the userspace memory required for the 32-bit compatibility layer, which allows local users to gain privileges by leveraging the ability of the compat_mc_getsockopt function (aka the MCAST_MSFILTER getsockopt support) to control a certain length value, related to a "stack pointer underflow" issue, as exploited in the wild in September 2010.
📍 영향받는 시스템
Linux kernel versions prior to 2.6.36-rc4-git2 on 64-bit platforms
⚔️ 공격 벡터
로컬 사용자가 compat_mc_getsockopt 함수를 통해 특정 길이 값을 조작하여 스택 포인터 언더플로우 유발
🛡️ 대응 방법
Linux 커널을 2.6.36-rc4-git2 이상 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 2.6.36-rc4-git2보다 낮은지 확인