🇰🇷 한글 설명
Linux 커널의 drm/i915 드라이버에서 i915_pci_probe() 함수 호출 시 NULL인 driver_data를 참조하여 발생하는 취약점입니다. sysfs의 driver_override를 통해 장치를 강제로 바인딩할 경우, 초기화되지 않은 포인터를 참조하게 되어 NULL 포인터 역참조(NULL-ptr-deref)가 발생합니다.
💡 쉬운 설명
리눅스 그래픽 드라이버가 특정 설정에서 잘못된 메모리 주소를 참조하여 시스템이 멈추거나 오류가 발생할 수 있는 문제입니다. 사용자가 장치 설정을 강제로 변경할 때 드라이버가 준비되지 않은 상태에서 데이터를 읽으려다 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/i915: Guard against NULL driver_data in i915_pci_probe()
pci_match_device() can return the dummy pci_device_id_any entry
when a device is force-bound via sysfs driver_override, in which
case ->driver_data is unset (NULL). i915_pci_probe() casts it to
struct intel_device_info * unconditionally and dereferences
intel_info->require_force_probe, causing a NULL-ptr-deref.
(cherry picked from commit 2727922084672cc274ecea726ea00363c2893731)
📍 영향받는 시스템
i915 드라이버를 사용하는 Linux 커널 버전 (패치 적용 전 버전)
⚔️ 공격 벡터
로컬 사용자가 sysfs의 driver_override를 사용하여 장치를 강제로 드라이버에 바인딩할 때 발생
🛡️ 대응 방법
i915 드라이버의 NULL 포인터 검사 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인