CVE-2026-43347Linux内核在Qualcomm Monaco平台的arm64设备树源码(DTS)中存在内存预留缺陷。该漏洞源于固件提供的EFI内存映射未正确保留Gunyah hypervisor拥有的完整元数据区域,导致Linux内核将hypervisor拥有的内存误判为常规内存并进行分配。当内核尝试访问这些地址时,会触发同步外部异常(ESR=0x96000010),进而导致内核崩溃。该漏洞无需用户交互即可利用,严重影响了系统的高可用性。
该漏洞的核心在于Linux内核设备树与Qualcomm Gunyah hypervisor内存描述的不一致。在Monaco平台上,hypervisor声明拥有0x91a80000起始、大小为0x80000(512 KiB)的内存区域。然而,EFI内存映射仅保留了0x91a40000至0x91a87fff(288 KiB),剩余部分(0x91a88000至0x91afffff)被错误标记为常规内存。因此,Linux内核内存分配器可能会分配位于hypervisor区域内的物理页帧号(PFN)。当内核访问这些地址时,由于未正确映射且权限冲突,会触发“同步外部异常”导致系统崩溃。修复方案是在设备树中添加reserved-memory carveout并标记为no-map。