🇰🇷 한글 설명
Linux 커널의 MSND Pinnacle 사운드 드라이버에서 발생하는 Double Fetch 경합 조건(race condition)입니다. 메시지 큐 헤더 포인터를 두 번 읽을 때 첫 번째와 두 번째 읽기 사이에 값이 변경될 수 있어, 로컬 사용자가 서비스 거부 또는 예측 불가능한 영향을 미칠 수 있습니다.
💡 쉬운 설명
사운드 드라이버가 같은 값을 두 번 확인할 때, 그 사이에 값이 바뀌어버리면 드라이버가 혼동하면서 시스템이 멈추거나 데이터가 손상될 수 있습니다. 같은 컴퓨터에 접근할 수 있는 사용자만 공격할 수 있습니다.
🇺🇸 원문 (English)
The intr function in sound/oss/msnd_pinnacle.c in the Linux kernel through 4.11.7 allows local users to cause a denial of service (over-boundary access) or possibly have unspecified other impact by changing the value of a message queue head pointer between two kernel reads of that value, aka a "double fetch" vulnerability.
📍 영향받는 시스템
Linux kernel 4.11.7 이하, MSND Pinnacle 드라이버 탑재 시스템
⚔️ 공격 벡터
로컬 사용자가 /proc/asound 또는 sndstat 인터페이스를 통해 경합 조건 트리거
🛡️ 대응 방법
Linux 커널을 4.11.8 이상으로 업데이트
🔧 검증 코드
"vulnerable"이 출력되면 4.11.7 이하 버전이므로 패치 필요; "patched"이면 안전
uname -r | awk -F. '{if($1==4 && $2==11 && $3<=7) print "vulnerable"; else print "patched"}'