🔍 CVE-2024-46689

5.5
CVSS Score
MEDIUM
2024-09-13
2026-06-17 07:55
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 Qualcomm cmd-db 영역이 Write-Back(WB) 방식으로 매핑되어 발생하는 취약점입니다. XPU가 캐시 제거를 잘못된 쓰기 작업으로 오인하여 Trust Zone에서 무한 루프를 유발할 수 있으며, 이를 Write-Combining(WC) 방식으로 변경하여 해결했습니다.

💡 쉬운 설명

메모리를 관리하는 방식의 설정 오류로 인해 시스템의 보안 영역인 Trust Zone이 오작동하여 무한 루프에 빠질 수 있는 문제입니다. 특정 가상화 환경(Xen 등)을 사용할 때 시스템이 멈추는 현상이 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: soc: qcom: cmd-db: Map shared memory as WC, not WB Linux does not write into cmd-db region. This region of memory is write protected by XPU. XPU may sometime falsely detect clean cache eviction as "write" into the write protected region leading to secure interrupt which causes an endless loop somewhere in Trust Zone. The only reason it is working right now is because Qualcomm Hypervisor maps the same region as Non-Cacheable memory in Stage 2 translation tables. The issue manifests if we want to use another hypervisor (like Xen or KVM), which does not know anything about those specific mappings. Changing the mapping of cmd-db memory from MEMREMAP_WB to MEMREMAP_WT/WC removes dependency on correct mappings in Stage 2 tables. This patch fixes the issue by updating the mapping to MEMREMAP_WC. I tested this on SA8155P with Xen.

📍 영향받는 시스템

Qualcomm SoC를 사용하는 Linux 커널 기반 시스템 (특히 Xen 또는 KVM 하이퍼바이저 사용 환경)

⚔️ 공격 벡터

직접적인 외부 공격보다는 특정 하이퍼바이저 환경에서 메모리 매핑 설정 차이로 인해 시스템이 중단되는 방식

🛡️ 대응 방법

커널 패치를 통해 cmd-db 메모리 매핑 방식을 MEMREMAP_WB에서 MEMREMAP_WC로 업데이트

🔧 검증 코드

커널 버전과 소스 코드 내 cmd-db 관련 매핑 방식이 MEMREMAP_WC로 수정되었는지 확인

Shell / Script
uname -r && grep -r "cmd-db" /drivers/soc/qcom/ 2>/dev/null

📊 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