🔍 CVE-2025-71285

5.5
CVSS Score
MEDIUM
2026-05-06
2026-11-05 22:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 QRTR 드라이버에서 MHI auto_queue 기능으로 인한 경쟁 상태 취약점입니다. DL 채널의 콜백이 드라이버 초기화 전에 호출되어 NULL 포인터 역참조를 유발할 수 있으며, 이는 부팅 중 시스템 충돌로 이어집니다. 취약점 해결을 위해 auto_queue 기능을 제거하고 QRTR이 수신 버퍼를 수동으로 관리하도록 변경되었습니다.

💡 쉬운 설명

리눅스 시스템이 준비되지 않은 네트워킹 기능을 사용하려 할 때 발생하는 타이밍 버그로, 시스템 부팅 중 충돌을 일으킬 수 있습니다. 자동 기능을 제거하고 소프트웨어가 버퍼를 직접 관리하도록 수정되었습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: qrtr: Drop the MHI auto_queue feature for IPCR DL channels MHI stack offers the 'auto_queue' feature, which allows the MHI stack to auto queue the buffers for the RX path (DL channel). Though this feature simplifies the client driver design, it introduces race between the client drivers and the MHI stack. For instance, with auto_queue, the 'dl_callback' for the DL channel may get called before the client driver is fully probed. This means, by the time the dl_callback gets called, the client driver's structures might not be initialized, leading to NULL ptr dereference. Currently, the drivers have to workaround this issue by initializing the internal structures before calling mhi_prepare_for_transfer_autoqueue(). But even so, there is a chance that the client driver's internal code path may call the MHI queue APIs before mhi_prepare_for_transfer_autoqueue() is called, leading to similar NULL ptr dereference. This issue has been reported on the Qcom X1E80100 CRD machines affecting boot. So to properly fix all these races, drop the MHI 'auto_queue' feature altogether and let the client driver (QRTR) manage the RX buffers manually. In the QRTR driver, queue the RX buffers based on the ring length during probe and recycle the buffers in 'dl_callback' once they are consumed. This also warrants removing the setting of 'auto_queue' flag from controller drivers. Currently, this 'auto_queue' feature is only enabled for IPCR DL channel. So only the QRTR client driver requires the modification.

📍 영향받는 시스템

Linux kernel (6.8 이전 버전, Qualcomm X1E80100/QRTR/MHI 사용 시스템)

⚔️ 공격 벡터

로컬 공격, 부팅 중 또는 QRTR 드라이버가 초기화 전 데이터를 수신할 때 트리거

🛡️ 대응 방법

Linux 커널을 패치가 적용된 버전으로 업그레이드하거나 QRTR/MHI auto_queue 기능 비활성화

🔧 검증 코드

dmesg에서 QRTR 관련 오류나 NULL 포인터 오류가 발견되면 취약한 상태이며, 커널 버전 확인으로 패치 여부를 확인

Shell / Script
dmesg 2>/dev/null | grep -iE 'qrtr.*error|null.*pointer' | head -1 || uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel