🇰🇷 한글 설명
Linux 커널의 MSM DPU 디스플레이 드라이버에서 dpu_core_irq_callback_handler() 함수가 콜백 함수 포인터를 NULL과 비교한 뒤에도 조건 없이 해당 포인터를 호출하는 문제가 있습니다. 이 문제는 콜백 포인터 확인 후 조건부 반환을 추가하여 해결되었습니다.
💡 쉬운 설명
디스플레이 장치의 인터럽트 처리 코드가 빈 함수 포인터를 확인하지 않고 호출하는 실수가 있었습니다. 이로 인해 시스템이 비정상 종료되거나 불안정해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/msm/dpu: Add callback function pointer check before its call
In dpu_core_irq_callback_handler() callback function pointer is compared to NULL,
but then callback function is unconditionally called by this pointer.
Fix this bug by adding conditional return.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Patchwork: https://patchwork.freedesktop.org/patch/588237/
📍 영향받는 시스템
Qualcomm MSM 기반 디스플레이 드라이버(DPU)를 사용하는 Linux 커널 버전 (수정 패치 이전 버전)
⚔️ 공격 벡터
로컬 사용자나 잘못된 드라이버 상태가 인터럽트 콜백 등록을 비정상적으로 만들어 NULL 포인터 호출을 유발할 수 있음 (주로 서비스 거부 수준)
🛡️ 대응 방법
Linux 커널을 해당 패치가 포함된 최신 안정 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 CVE-2024-38622 수정이 포함된 배포판 보안 공지 또는 커널 changelog의 수정 버전 이상인지 비교합니다. 해당 버전 이상이면 패치가 적용된 것입니다.