🔍 CVE-2024-26909

7.0
CVSS Score
HIGH
2024-04-17
2026-08-04 11:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 Qualcomm PMIC GLINK Altmode 드라이버에서 발생한 Use-After-Free 취약점입니다. DRM 브리지 등록 시점이 리소스 확보 전으로 설정되어 있어, 프로브 지연(probe deferral) 발생 시 이미 해제된 메모리 포인터를 참조하여 시스템 충돌이나 NULL 포인터 역참조를 유발할 수 있습니다.

💡 쉬운 설명

컴퓨터 부팅 과정에서 화면을 담당하는 부품이 준비되기도 전에 미리 등록되어 버려, 준비가 안 된 상태에서 잘못된 메모리 주소를 건드려 시스템이 멈추거나 오류가 발생하는 문제입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free A recent DRM series purporting to simplify support for "transparent bridges" and handling of probe deferrals ironically exposed a use-after-free issue on pmic_glink_altmode probe deferral. This has manifested itself as the display subsystem occasionally failing to initialise and NULL-pointer dereferences during boot of machines like the Lenovo ThinkPad X13s. Specifically, the dp-hpd bridge is currently registered before all resources have been acquired which means that it can also be deregistered on probe deferrals. In the meantime there is a race window where the new aux bridge driver (or PHY driver previously) may have looked up the dp-hpd bridge and stored a (non-reference-counted) pointer to the bridge which is about to be deallocated. When the display controller is later initialised, this triggers a use-after-free when attaching the bridges: dp -> aux -> dp-hpd (freed) which may, for example, result in the freed bridge failing to attach: [drm:drm_bridge_attach [drm]] *ERROR* failed to attach bridge /soc@0/phy@88eb000 to encoder TMDS-31: -16 or a NULL-pointer dereference: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 ... Call trace: drm_bridge_attach+0x70/0x1a8 [drm] drm_aux_bridge_attach+0x24/0x38 [aux_bridge] drm_bridge_attach+0x80/0x1a8 [drm] dp_bridge_init+0xa8/0x15c [msm] msm_dp_modeset_init+0x28/0xc4 [msm] The DRM bridge implementation is clearly fragile and implicitly built on the assumption that bridges may never go away. In this case, the fix is to move the bridge registration in the pmic_glink_altmode driver to after all resources have been looked up. Incidentally, with the new dp-hpd bridge implementation, which registers child devices, this is also a requirement due to a long-standing issue in driver core that can otherwise lead to a probe deferral loop (see commit fbc35b45f9f6 ("Add documentation on meaning of -EPROBE_DEFER")). [DB: slightly fixed commit message by adding the word 'commit']

📍 영향받는 시스템

Qualcomm SoC를 사용하는 Linux 커널 기반 시스템 (예: Lenovo ThinkPad X13s 등)

⚔️ 공격 벡터

로컬 공격자가 특정 하드웨어 드라이버의 프로브 지연을 유도하여 커널 패닉 또는 권한 상승을 시도할 수 있음

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 브리지 등록 순서를 수정해야 함

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel