🇰🇷 한글 설명
Linux 커널 fbmon 모듈의 fb_videomode_from_videomode() 함수에서 htotal과 vtotal의 곱이 오버플로우되어 0이 되면 division by zero 발생. 이를 통해 권한 없는 로컬 사용자가 시스템 DoS를 유발할 수 있습니다.
💡 쉬운 설명
Linux 커널의 그래픽 모드 설정 코드에서 수학 계산 오류가 발생하면 시스템이 강제로 중단됩니다. 로컬 공격자가 특정 비디오 설정값을 조작하여 의도적으로 시스템을 다운시킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
fbmon: prevent division by zero in fb_videomode_from_videomode()
The expression htotal * vtotal can have a zero value on
overflow. It is necessary to prevent division by zero like in
fb_var_to_videomode().
Found by Linux Verification Center (linuxtesting.org) with Svace.
📍 영향받는 시스템
Linux kernel fbmon 모듈을 포함한 모든 버전 (패치 전)
⚔️ 공격 벡터
로컬 사용자가 비디오모드 파라미터(htotal, vtotal)를 조작하여 fb_videomode_from_videomode() 함수에서 division by zero 유발
🛡️ 대응 방법
Linux 커널을 최신 패치 버전으로 업그레이드하여 division by zero 체크 로직 적용
🔧 검증 코드
fbmon.c 파일에서 htotal*vtotal 계산 후 0 체크 로직 존재 여부 확인. 'Patched' 출력 시 안전, 'Vulnerable' 출력 시 패치 필요
grep -n 'htotal.*vtotal' /usr/src/linux-headers-$(uname -r)/drivers/video/fbmon.c 2>/dev/null && grep -A5 'htotal.*vtotal' /usr/src/linux-headers-$(uname -r)/drivers/video/fbmon.c 2>/dev/null | grep -q 'if.*==' && echo 'Patched' || echo 'Vulnerable'