🇰🇷 한글 설명
Linux 커널의 amd 디스플레이 드라이버에서 NULL 포인터 역참조 취약점이 발견되었습니다. 오류 처리 과정에서 dc_dmub_srv가 NULL인 상태로 로그를 남기려 시도할 때 시스템 충돌이 발생할 수 있습니다.
💡 쉬운 설명
프로그램이 존재하지 않는 데이터(NULL)를 참조하여 기록하려고 할 때 컴퓨터가 갑자기 멈추거나 꺼질 수 있는 문제입니다. 오류가 발생했을 때 이를 기록하는 과정에서 오히려 시스템이 망가지는 현상입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Avoid NULL dereference in dc_dmub_srv error paths
In dc_dmub_srv_log_diagnostic_data() and
dc_dmub_srv_enable_dpia_trace().
Both functions check:
if (!dc_dmub_srv || !dc_dmub_srv->dmub)
and then call DC_LOG_ERROR() inside that block.
DC_LOG_ERROR() uses dc_dmub_srv->ctx internally. So if
dc_dmub_srv is NULL, the logging itself can dereference a
NULL pointer and cause a crash.
Fix this by splitting the checks.
First check if dc_dmub_srv is NULL and return immediately.
Then check dc_dmub_srv->dmub and log the error only when
dc_dmub_srv is valid.
Fixes the below:
../display/dc/dc_dmub_srv.c:962 dc_dmub_srv_log_diagnostic_data() error: we previously assumed 'dc_dmub_srv' could be null (see line 961)
../display/dc/dc_dmub_srv.c:1167 dc_dmub_srv_enable_dpia_trace() error: we previously assumed 'dc_dmub_srv' could be null (see line 1166)
📍 영향받는 시스템
Linux Kernel (drm/amd/display 드라이버 포함 버전)
⚔️ 공격 벡터
특정 디스플레이 서비스 오류를 유도하여 커널 패닉(시스템 충돌)을 일으키는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.