🇰🇷 한글 설명
Linux 커널의 x86 WMI 플랫폼에서 문자 장치(char device)를 여는 과정에 취약점이 발견되었습니다. WMI 장치가 삭제된 후에도 잘못된 메모리 포인터를 참조할 경우 메모리 오염이 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 특정 부품을 제어하는 소프트웨어가 부품이 사라졌음에도 불구하고 존재하지 않는 정보를 읽으려다 시스템 오류를 일으킬 수 있는 문제입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
platform/x86: wmi: Fix opening of char device
Since commit fa1f68db6ca7 ("drivers: misc: pass miscdevice pointer via
file private data"), the miscdevice stores a pointer to itself inside
filp->private_data, which means that private_data will not be NULL when
wmi_char_open() is called. This might cause memory corruption should
wmi_char_open() be unable to find its driver, something which can
happen when the associated WMI device is deleted in wmi_free_devices().
Fix the problem by using the miscdevice pointer to retrieve the WMI
device data associated with a char device using container_of(). This
also avoids wmi_char_open() picking a wrong WMI device bound to a
driver with the same name as the original driver.
📍 영향받는 시스템
WMI 장치 드라이버를 사용하는 Linux 커널 (fa1f68db6ca7 커밋 이후 버전)
⚔️ 공격 벡터
로컬 공격자가 특정 WMI 장치를 삭제한 후 해당 장치에 접근을 시도하여 메모리 오염 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인