🇰🇷 한글 설명
Linux 커널의 CAN USB 드라이버(gs_usb.c)에서 CONFIG_VMAP_STACK 옵션과의 상호작용 오류로 인한 취약점입니다. 로컬 사용자가 DMA 산란 수집 목록에서 다중 가상 페이지를 악용하여 시스템 충돌, 메모리 손상 또는 기타 영향을 유발할 수 있습니다.
💡 쉬운 설명
Linux 커널의 USB CAN 어댑터 드라이버에서 메모리 처리 방식에 버그가 있습니다. 컴퓨터에 접근 가능한 사용자가 이를 악용하면 시스템이 다운되거나 메모리가 손상될 수 있습니다.
🇺🇸 원문 (English)
drivers/net/can/usb/gs_usb.c in the Linux kernel 4.9.x and 4.10.x before 4.10.2 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.x, 4.10.x (4.10.2 이전 버전)
⚔️ 공격 벡터
로컬 사용자가 CONFIG_VMAP_STACK이 활성화된 시스템에서 CAN USB 드라이버를 통해 다중 가상 페이지 DMA 작업 수행
🛡️ 대응 방법
Linux kernel을 4.10.2 이상으로 업그레이드하거나 gs_usb.c 드라이버 패치 적용
🔧 검증 코드
'Vulnerable'이 출력되면 취약한 커널 버전 사용 중, 'Patched/Safe'이면 영향 없음
uname -r | grep -E '^(4\.9|4\.10\.[01])' && echo 'Vulnerable' || echo 'Patched/Safe'