🇰🇷 한글 설명
Linux 커널의 Mellanox mlxbf-pmc 플랫폼 드라이버에서 ACPI 컴패니언 객체의 존재 여부를 확인하지 않아 발생하는 취약점입니다. 특정 장치에 드라이버를 강제로 바인딩할 경우 NULL 포인터 역참조가 발생하여 시스템이 충돌할 수 있습니다.
💡 쉬운 설명
드라이버가 특정 장치를 제어하려고 할 때, 필요한 부가 정보가 있는지 확인하지 않고 바로 접근하려다 발생하는 오류입니다. 이로 인해 시스템이 갑자기 멈추거나 재부팅될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
platform/mellanox: mlxbf-pmc: Check ACPI_COMPANION() against NULL
Every platform driver can be forced to match a device that doesn't match
its list of device IDs because of device_match_driver_override(), so
platform drivers that rely on the existence of a device's ACPI companion
object need to verify its presence.
mlxbf_pmc_probe() passes the result of ACPI_COMPANION() to
acpi_device_hid(), which dereferences it, so force-binding the driver to
a device without an ACPI companion leads to a NULL pointer dereference.
Accordingly, add a requisite ACPI_COMPANION() check against NULL to the
mlxbf-pmc driver and return -ENODEV when the companion is missing.
📍 영향받는 시스템
Mellanox mlxbf-pmc 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
device_match_driver_override() 함수를 사용하여 ACPI 컴패니언이 없는 장치에 드라이버를 강제로 바인딩
🛡️ 대응 방법
ACPI_COMPANION() 결과에 대한 NULL 체크 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 버전인지 배포판 보안 공지를 통해 확인하십시오.