🔍 CVE-2023-53991

0.0
CVSS Score
UNKNOWN
2025-12-24
2026-04-15 00:35
✅ 완료

🇰🇷 한글 설명

Linux 커널의 DRM/MSM/DPU 디스플레이 드라이버에서 시스템에 할당되지 않은 리소스(DSC 블록)가 NULL 포인터로 반환되어 null-pointer dereference로 인한 시스템 lockup이 발생할 수 있습니다. 패치를 통해 num_blks가 NULL 블록을 초과하지 않도록 제한하고 에러를 출력하여 문제를 방지합니다.

💡 쉬운 설명

Linux 운영 체제의 디스플레이 드라이버가 존재하지 않는 하드웨어 리소스에 접근하려 할 때 시스템이 중단될 수 있었습니다. 이제 드라이버가 유효하지 않은 리소스 접근을 감지하고 거부하여 시스템이 안정적으로 작동합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drm/msm/dpu: Disallow unallocated resources to be returned In the event that the topology requests resources that have not been created by the system (because they are typically not represented in dpu_mdss_cfg ^1), the resource(s) in global_state (in this case DSC blocks, until their allocation/assignment is being sanity-checked in "drm/msm/dpu: Reject topologies for which no DSC blocks are available") remain NULL but will still be returned out of dpu_rm_get_assigned_resources, where the caller expects to get an array containing num_blks valid pointers (but instead gets these NULLs). To prevent this from happening, where null-pointer dereferences typically result in a hard-to-debug platform lockup, num_blks shouldn't increase past NULL blocks and will print an error and break instead. After all, max_blks represents the static size of the maximum number of blocks whereas the actual amount varies per platform. ^1: which can happen after a git rebase ended up moving additions to _dpu_cfg to a different struct which has the same patch context. Patchwork: https://patchwork.freedesktop.org/patch/517636/

📍 영향받는 시스템

ARM 기반 Qualcomm MSM SoC를 탑재한 Linux 기기의 DRM/MSM/DPU 드라이버

⚔️ 공격 벡터

특정 토폴로지 요청으로 할당되지 않은 DSC 블록 접근 시도 시 시스템 lockup 발생

🛡️ 대응 방법

Linux 커널 업데이트 (patchwork ID: 517636) 적용 또는 git rebase로 DPU 설정 재정렬

🔧 검증 코드

DPU 드라이버 코드에서 num_blks 검사가 추가되었는지 확인하거나, 커널 버전이 패치가 적용된 버전 이상인지 확인하면 됩니다.

Shell / Script
grep -r 'num_blks shouldn' $(find /lib/modules -name dpu_rm.c 2>/dev/null | head -1) 2>/dev/null || uname -r

💻 영향받는 소프트웨어

Git