🇰🇷 한글 설명
Linux 커널 4.9.x(4.9.11 이전) USB CATC 드라이버에서 CONFIG_VMAP_STACK 옵션과 DMA scatterlist의 상호작용 결함. 여러 가상 페이지 사용 시 스택 오버플로우로 인해 로컬 사용자가 시스템 크래시나 메모리 손상을 유발할 수 있습니다.
💡 쉬운 설명
USB 네트워크 기기 드라이버의 메모리 처리 버그로, 특정 커널 설정에서 로컬 공격자가 시스템을 충돌시킬 수 있습니다. 원격 공격은 불가능하며 해당 기기에 물리적 접근이나 로컬 계정이 필요합니다.
🇺🇸 원문 (English)
drivers/net/usb/catc.c in the Linux kernel 4.9.x before 4.9.11 interacts incorrectly with the CONFIG_VMAP_STACK option, which allows local users to cause a denial of service (system crash or memory corruption) or possibly have unspecified other impact by leveraging use of more than one virtual page for a DMA scatterlist.
📍 영향받는 시스템
Linux Kernel 4.9.0 ~ 4.9.10 (4.9.11부터 패치됨) + CONFIG_VMAP_STACK=y 설정
⚔️ 공격 벡터
로컬 사용자가 USB CATC 드라이버를 대상으로 crafted scatterlist 요청을 통해 메모리 손상 유발
🛡️ 대응 방법
커널을 4.9.11 이상으로 업그레이드 또는 CONFIG_VMAP_STACK 옵션 비활성화
🔧 검증 코드
현재 커널 버전이 4.9.0~4.9.10 범위면 'Potentially vulnerable' 출력, 아니면 'Safe' 출력. dmesg에서 CONFIG_VMAP_STACK 설정 여부 확인 필요
uname -r | grep -E '4\.9\.[0-9]($|\.)' && echo 'Potentially vulnerable kernel version' || echo 'Safe kernel version'