🇰🇷 한글 설명
Linux 커널 AMD 디스플레이 드라이버(dcn401_init_hw)의 NULL 포인터 역참조 취약점입니다. update_bw_bounding_box 함수 포인터가 NULL인지 검증하지 않고 호출하면 커널이 충돌합니다. 패치는 포인터와 콜백을 사용 전에 검증하도록 수정합니다.
💡 쉬운 설명
AMD 그래픽 드라이버에서 존재하지 않는 함수를 호출할 수 있는 코딩 오류입니다. 이 오류로 인해 시스템이 갑자기 멈추거나 재부팅될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Fix NULL pointer dereference in dcn401_init_hw()
dcn401_init_hw() assumes that update_bw_bounding_box() is valid when
entering the update path. However, the existing condition:
((!fams2_enable && update_bw_bounding_box) || freq_changed)
does not guarantee this, as the freq_changed branch can evaluate to true
independently of the callback pointer.
This can result in calling update_bw_bounding_box() when it is NULL.
Fix this by separating the update condition from the pointer checks and
ensuring the callback, dc->clk_mgr, and bw_params are validated before
use.
Fixes the below:
../dc/hwss/dcn401/dcn401_hwseq.c:367 dcn401_init_hw() error: we previously assumed 'dc->res_pool->funcs->update_bw_bounding_box' could be null (see line 362)
(cherry picked from commit 86117c5ab42f21562fedb0a64bffea3ee5fcd477)
📍 영향받는 시스템
Linux 5.15+ 커널 기반 AMD RDNA/RDNA2 GPU 탑재 시스템 (2025년 말 cherry-picked 패치 적용 전)
⚔️ 공격 벡터
시스템 부팅 시 또는 GPU 초기화 중 함수 호출 시 NULL 포인터 역참조로 커널 패닉 유발
🛡️ 대응 방법
Linux 커널을 최신 버전으로 업데이트하거나 commit 86117c5ab42f21562fedb0a64bffea3ee5fcd477을 적용하여 재컴파일
🔧 검증 코드
표시되는 커널 버전이 안정화 패치 날짜(2025년 말~2026년 초) 이후인지 확인하거나, lsmod | grep amdgpu로 AMD GPU 드라이버 로드 여부를 검증하세요.
dpkg -l 2>/dev/null | grep linux-image | awk '{print $2,$3}' || rpm -qa 2>/dev/null | grep ^kernel | head -1