🇰🇷 한글 설명
Linux 커널의 USB tower 드라이버(drivers/usb/misc/legousbtower.c)에서 경쟁 조건(race condition)과 NULL 포인터 역참조로 인한 write-what-where 취약점입니다. 물리적으로 접근 가능한 로컬 사용자가 조작된 USB 장치를 삽입하여 시스템 권한을 상승시킬 수 있습니다.
💡 쉬운 설명
리눅스 커널이 LEGO USB 타워 장치를 제어하는 코드에 보안 결함이 있습니다. 누군가 손상된 USB 장치를 꽂으면 사용자 권한으로 관리자 권한을 얻을 수 있습니다.
🇺🇸 원문 (English)
The tower_probe function in drivers/usb/misc/legousbtower.c in the Linux kernel before 4.8.1 allows local users (who are physically proximate for inserting a crafted USB device) to gain privileges by leveraging a write-what-where condition that occurs after a race condition and a NULL pointer dereference.
📍 영향받는 시스템
Linux kernel 4.8.1 이전 모든 버전 (legousbtower driver 포함)
⚔️ 공격 벡터
물리적으로 시스템에 접근 가능한 로컬 사용자가 조작된 LEGO USB tower 장치를 시스템에 연결
🛡️ 대응 방법
Linux kernel을 4.8.1 이상으로 업데이트
🔧 검증 코드
VULNERABLE이 출력되면 취약점이 있으며, PATCHED가 출력되면 패치된 커널 버전입니다.
uname -r | awk -F'[.-]' '{if($1<4 || ($1==4 && $2<8)) print "VULNERABLE"; else if($1>4 || ($1==4 && $2>=8)) print "PATCHED"}'