🇰🇷 한글 설명
Linux 커널의 gve 드라이버에서 ptp adjfine 구현 누락으로 인해 NULL 포인터 역참조 취약점이 발생합니다. 사용자 모드에서 특정 PTP 관련 시스템 호출을 수행할 경우 커널 패닉이 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 시간을 조정하는 기능에서 프로그램이 존재하지 않는 주소를 참조하여 시스템이 멈추거나 오류가 발생하는 문제입니다. 일반 사용자가 특수한 명령을 내리면 운영체제의 핵심 부분인 커널이 충돌할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
gve: fix NULL dereference due to missing ptp adjfine
Fix NULL dereference due to missing implementation of adjfine, which can
be triggered from usermode as follows:
sudo ./testptp -d /dev/ptp0 -f 0
[ 551.943697] BUG: kernel NULL pointer dereference, address: 0000000000000000
[...]
[ 552.061946] Call Trace:
[ 552.064487] <TASK>
[ 552.066681] ptp_clock_adjtime+0x1c0/0x2c0
[ 552.070874] ? get_clock_desc+0x6b/0xb0
[ 552.074825] pc_clock_adjtime+0x78/0xc0
[ 552.078755] __do_sys_clock_adjtime+0x85/0x110
[ 552.083293] do_syscall_64+0xea/0x610
📍 영향받는 시스템
gve 드라이버를 사용하는 Linux 커널 버전
⚔️ 공격 벡터
로컬 권한을 가진 사용자가 특수하게 조작된 PTP 관련 시스템 호출(clock_adjtime)을 실행
🛡️ 대응 방법
gve 드라이버의 adjfine 구현이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인