🔍 CVE-2025-39923

5.5
CVSS Score
MEDIUM
2025-10-01
2026-10-19 22:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 dmaengine qcom bam_dma 드라이버에서 디바이스 트리(DT) 오류 처리가 누락된 취약점입니다. 클럭 정보와 채널 수가 없는 잘못된 DT 설정 시에도 프로빙이 계속되어, 레지스터를 읽는 과정에서 시스템 조기 충돌(Crash)을 유발할 수 있습니다.

💡 쉬운 설명

기기 설정 정보가 잘못되었을 때 이를 즉시 감지하지 못해 시스템이 갑자기 멈추거나 꺼질 수 있는 문제입니다. 잘못된 설정을 무시하고 진행하다가 하드웨어 정보를 잘못 읽어 오류가 발생하는 상황입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: dmaengine: qcom: bam_dma: Fix DT error handling for num-channels/ees When we don't have a clock specified in the device tree, we have no way to ensure the BAM is on. This is often the case for remotely-controlled or remotely-powered BAM instances. In this case, we need to read num-channels from the DT to have all the necessary information to complete probing. However, at the moment invalid device trees without clock and without num-channels still continue probing, because the error handling is missing return statements. The driver will then later try to read the number of channels from the registers. This is unsafe, because it relies on boot firmware and lucky timing to succeed. Unfortunately, the lack of proper error handling here has been abused for several Qualcomm SoCs upstream, causing early boot crashes in several situations [1, 2]. Avoid these early crashes by erroring out when any of the required DT properties are missing. Note that this will break some of the existing DTs upstream (mainly BAM instances related to the crypto engine). However, clearly these DTs have never been tested properly, since the error in the kernel log was just ignored. It's safer to disable the crypto engine for these broken DTBs. [1]: https://lore.kernel.org/r/[email protected]/ [2]: https://lore.kernel.org/r/[email protected]/

📍 영향받는 시스템

Qualcomm SoC를 사용하는 Linux 커널 기반 시스템 (bam_dma 드라이버 사용 환경)

⚔️ 공격 벡터

직접적인 원격 공격보다는 잘못된 디바이스 트리(DTB) 설정이나 특정 하드웨어 구성 환경에서 시스템 부팅 시 발생

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 DT 오류 처리 로직을 반영해야 함

🔧 검증 코드

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

Shell / Script
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