🇰🇷 한글 설명
Linux 커널의 asus-wireless 플랫폼 드라이버에서 ACPI 매칭 정보가 없을 때 프로브(probe) 과정이 성공적으로 처리되는 취약점이 발견되었습니다. 이로 인해 NULL 포인터가 저장되어 드라이버 해제 시 NULL 포인터 역참조(NULL pointer dereference)가 발생하여 시스템 충돌을 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품을 인식하는 과정에서 필요한 정보가 누락되었음에도 불구하고 오류 없이 진행되어, 나중에 부품을 제거할 때 시스템이 멈추거나 꺼질 수 있는 문제입니다. 특정 하드웨어 설정이 맞지 않을 때 발생하는 소프트웨어 오류입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
platform/x86: asus-wireless: Fail probe when there is no ACPI match
Every platform driver can be forced to match a device that does not match
its list of device IDs because of device_match_driver_override(), so
platform drivers that rely on the existence of a device ACPI companion
object need to verify its presence.
asus_wireless_probe() returns success when acpi_match_acpi_device()
finds no match, leaving behind an input device that never reports
anything because the notify handler is not installed. Worse, when the
driver is force-bound to a device without an ACPI companion, probe
still succeeds and stores a NULL companion pointer, which
asus_wireless_remove() later passes to acpi_dev_remove_notify_handler(),
leading to a NULL pointer dereference on unbind.
Return -ENODEV when the device does not match the ID table. This also
covers the missing-companion case, because acpi_match_acpi_device()
rejects a NULL device. Perform the check before allocating any driver
state, instead of after the input device has already been registered.
📍 영향받는 시스템
ACPI 매칭이 필요한 asus-wireless 드라이버를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
로컬 공격자가 드라이버 강제 바인딩(device_match_driver_override)을 통해 NULL 포인터 역참조를 유도하여 시스템 가용성을 침해할 수 있음
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 릴리스 버전인지 확인하십시오.