🇰🇷 한글 설명
Linux 커널 4.9.11 이전 버전의 pegasus.c 드라이버가 CONFIG_VMAP_STACK 옵션과 잘못 상호작용하여, DMA scatterlist에 여러 가상 페이지를 사용할 때 로컬 사용자가 시스템 충돌 또는 메모리 손상을 유발할 수 있습니다.
💡 쉬운 설명
Linux 커널의 USB 네트워크 드라이버 버그로, 같은 컴퓨터에 접근 가능한 사용자가 시스템을 충돌시키거나 메모리를 손상시킬 수 있습니다. 커널 업데이트로 해결됩니다.
🇺🇸 원문 (English)
drivers/net/usb/pegasus.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 (Pegasus USB 네트워크 어댑터 포함 시스템)
⚔️ 공격 벡터
로컬 접근 필수, 특별한 권한 불필요, DMA 작업을 통한 메모리 접근
🛡️ 대응 방법
Linux 커널을 4.9.11 이상으로 업데이트하거나 CONFIG_VMAP_STACK 옵션 비활성화
🔧 검증 코드
"Vulnerable"이면 4.9.0~4.9.10 버전 사용 중(업데이트 필요), "Not vulnerable"이면 4.9.11 이상 또는 다른 커널 버전 사용 중
uname -r | awk -F'.' '{if($1==4&&$2==9&&$3+0<11)print "Vulnerable";else print "Not vulnerable"}'