CVE-2026-43274Linux内核mchp-ipc-sbi驱动存在越界访问漏洞。在`mchp_ipc_get_cluster_aggr_irq`函数中,`cluster_cfg`数组依据在线CPU数量分配,但被错误地使用`hartid`进行索引。由于`hartid`数值可能非连续或超出数组范围,导致越界访问。该漏洞允许本地攻击者破坏内存完整性,造成拒绝服务或权限提升。
漏洞根源在于索引逻辑错误。Linux内核在Microchip IPC SBI驱动中,`cluster_cfg`数组大小由在线CPU数量决定,索引范围应为[0, N-1]。原代码使用`hartid`(硬件线程ID)作为索引,而在RISC-V架构中,`hartid`是物理标识,可能存在空洞(如ID为0, 1, 4, 5)。当`hartid`大于数组长度时,触发越界读写。漏洞利用无需用户交互(UI:N)且无需认证(PR:N),攻击者可通过本地操作触发该路径,导致内核崩溃或执行任意代码。修复方案是将索引改为`cpuid`,确保其在`for_each_online_cpu`循环的有效范围内。攻击者可利用此漏洞绕过内存保护,影响系统机密性、完整性及可用性。