🇰🇷 한글 설명
Linux 커널의 LDT 테이블 할당 오류 처리 결함으로 인해 프로세스 포킹 시 메모리 해제 후 사용(UAF) 취약점이 발생합니다. CONFIG_MODIFY_LDT_SYSCALL=y로 빌드된 4.12.10 미만 커널에서 로컬 공격자가 특수 제작된 프로그램을 실행하여 권한 상승 또는 시스템 손상을 야기할 수 있습니다.
💡 쉬운 설명
Linux 커널이 새 프로세스 생성 시 메모리 정리에 실패하여, 공격자가 이미 해제된 메모리에 접근해 시스템을 손상시킬 수 있습니다. 로컬 접근 권한이 있는 공격자만 악용 가능합니다.
🇺🇸 원문 (English)
The init_new_context function in arch/x86/include/asm/mmu_context.h in the Linux kernel before 4.12.10 does not correctly handle errors from LDT table allocation when forking a new process, allowing a local attacker to achieve a use-after-free or possibly have unspecified other impact by running a specially crafted program. This vulnerability only affected kernels built with CONFIG_MODIFY_LDT_SYSCALL=y.
📍 영향받는 시스템
Linux kernel < 4.12.10 (CONFIG_MODIFY_LDT_SYSCALL=y 활성화된 빌드)
⚔️ 공격 벡터
로컬 공격자가 특수 제작된 프로그램 실행으로 LDT 테이블 할당 오류 트리거
🛡️ 대응 방법
Linux 커널을 4.12.10 이상으로 업그레이드 또는 CONFIG_MODIFY_LDT_SYSCALL=n으로 재컴파일
🔧 검증 코드
현재 커널 버전을 파싱하여 4.12.10 미만이면 VULNERABLE, 이상이면 PATCHED 출력
uname -r | sed 's/-.*//g' | awk -F'.' '{if($1*10000+$2*100+$3<41210) print "VULNERABLE"; else print "PATCHED"}'